【问题标题】:Use a mixed-mode (managed/unmanaged) dll on Linux (mono)在 Linux(单声道)上使用混合模式(托管/非托管)dll
【发布时间】:2016-04-07 01:35:55
【问题描述】:

我需要将 .NET 库移植到 Linux 以使用 Mono 运行。

库本身是用 C# 编写的,但它引用了另一个使用托管和非托管 C++ 编写的混合模式 DLL,并将托管包装器暴露给非托管类。

我假设 dll 不仅仅在 Linux 上工作,因为它是使用 VS for windows 编译的。

PS:混合模式的 dll 只链接 libpng 和 zlib 两者都有 Linux 端口。

1) 有什么简单的方法可以解决这个问题吗?

2) WINE 能否以某种方式与 mono 结合使用来覆盖库中未损坏的部分?如果是这样,这会导致性能问题吗?

【问题讨论】:

标签: .net linux mono unmanaged managed


【解决方案1】:

Mono 不支持混合模式程序集,如果 WINE 可以提供帮助,您可以尝试一下。

可行的做法是使用CppSharp,https://github.com/mono/CppSharp

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-14
相关资源
最近更新 更多