我需要将.NET库移植到Linux以使用Mono运行。
库本身是用C#编写的,但它引用了另一个用托管和非托管C++编写的混合模式DLL,并向非托管类公开托管包装器。
我认为dll不会只在Linux上运行,因为它是用VS for windows编译的。
PS:混合模式dll只链接libpng和zlib,它们都有Linux端口。
1) 有什么简单的方法可以解决这个问题吗?
2) WINE能以某种方式与mono结合使用来覆盖库中未映射的部分吗?如果是这样,会不会导致性能问题?
Mono不支持混合模式程序集,因此您可以尝试WINE是否可以提供帮助。
可行的方法是使用CppSharp,https://github.com/mono/CppSharp