在Linux上使用混合模式(托管/非托管)dll(单声道)

时间:2016-04-07 01:35:55

标签: .net linux mono unmanaged managed

我需要将.NET库移植到Linux以便与Mono一起运行。

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

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

PS:混合模式dll只链接libpng和zlib,它们都有Linux端口。

1)有没有简单的方法呢?

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

1 个答案:

答案 0 :(得分:1)

Mono不支持混合模式程序集,因此您可以尝试WINE可以提供帮助。

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