Ste*_*erg 4 c# visual-studio-mac
我有一个使用第三方DLL的应用程序.在Visual Studio for Mac中是否有一种方法可以像在Windows上一样编写应用程序来访问它?
小智 5
这取决于:
如果您有C/C++代码,那么如果它没有某些外部(Windows)平台特定代码,您应该能够为OSX(例如GCC)构建它.然后,您可以直接使用编译的*.so/*.dylib文件.但是你需要告诉.NET Runtime(例如在OSX上使用Mono)使用DllMap配置文件来使用不同的文件(参见http://www.mono-project.com/docs/advanced/pinvoke/dllmap/举些例子).
您链接的源代码看起来像是Unix,所以能够在OSX上构建它们的机会非常好(有一个Makefile,而得到的二进制文件将是Unix上的libswe.so).您可以尝试将-dynamiclib参数传递给GCC以获取OSX特定的libswe.dylib(osx上的.so和.dylib之间有什么区别?似乎是一个关于dylib的好答案)
如果你有用于OSX的DLL的二进制文件,你只需要一个.NET应用程序的配置文件,它可能如下所示:
<configuration>
<dllmap os="osx" dll="libswe.dll" target="libswe.dylib"/>
<configuration/>
Run Code Online (Sandbox Code Playgroud)
它告诉.NET运行时导入符号,libswe.dylib而不是libswe.dll当前操作系统是OSX.