我正在使用 Mono 编写一组 native 公开命令的包装器。
该集合是相同的(命令和签名),但是它是通过 Windows 中的 DLL 和 Mac 中的 DyLib 公开的。
我想知道是否有一种方法可以让我只创建一个包装器 .NET/Mono DLL,同时让它仍然找到正确的库来自行导入。
如果是这样,语法是什么?如果不是,那么将 DllImport 从我要编译的 2 个不同操作系统中分离出来的编译器定义是什么?
编辑:对于 Mac 部分,使用静态库 (.a) 而不是动态库 (.dylib) 会得到加分,如果 Mono 也可以这样做的话。
最佳答案
您可能想要发送一个 dll 映射配置文件,告诉 Mono 在每个平台上加载哪个库:
关于macos - Mono DLL 打开适当的 Windows/Mac DLL/DyLib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6555079/