Mono和.NET DLL可互换性

时间:2012-09-11 21:46:54

标签: c# .net mono

单声道库是否完全可以从MS.NET引用?

倒数怎么样?

如果“sorta”,那么哪些,以及有哪些限制?

2 个答案:

答案 0 :(得分:7)

是的,Mono编译器会生成与.NET框架兼容的二进制文件,反之亦然。

唯一的限制AFAIK是托管C ++:

  1. Mono编译器没有这方面的编译器。
  2. 此语言的MS.NET编译器生成无法在Mono中运行的混合模式程序集。
  3. (有关this other stackoverflow question中托管C ++的详细信息。)

答案 1 :(得分:1)

文件格式相同(对于完全托管的库,请参阅knocte的回答),因此理论上Mono库可以完全从.NET引用(反之亦然)。

在实践中,它取决于库的内容。如果您在库中编写仅Linux代码,它当然不能在.NET上运行。这也是唯一的潜在问题,如果您编写与平台无关的代码,您可以使用Mono的mcs编译器或Microsoft的csc编译器,并在任一平台上使用生成的库而不会出现问题。