【问题标题】:Mono and .NET dll interchangeabilityMono 和 .NET dll 可互换性
【发布时间】:2012-09-12 06:10:04
【问题描述】:

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

反过来呢?

如果是“sorta”,那么有哪些,有什么限制?

【问题讨论】:

  • 一个dll由mono编译器编译,另一个由MS编译器编译?这样做是有风险的。
  • @knocte 基于什么?那个单声道不具备.Net 的所有功能? MS 没有发布任何兼容性测试(就像 Sun 对 jvm 所做的那样),所以行为可能会有所不同等。
  • Mono FAQ 中的第一个问题:mono-project.com/FAQ:_General

标签: c# .net mono


【解决方案1】:

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

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

  1. 单声道编译器没有用于此的编译器。
  2. 此语言的 MS.NET 编译器生成无法在 Mono 中运行的混合模式程序集。

this other stackoverflow question 中有关托管 C++ 的更多信息。)

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • OP 谈论“引用程序集”,而不是运行时执行;)
    猜你喜欢
    • 2019-06-19
    • 2020-11-04
    • 2011-03-29
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    相关资源
    最近更新 更多