我有一个使用第三方DLL的应用程序。在Visual Studio for Mac中有没有一种方法可以编写应用程序,以便像我在Windows上那样访问它?可以在Visual Studio Mac中使用DLL
回答
号
虽然你可能会认为,因为你有相同的名称作为Windows中的对应一个IDE它产生的二进制文件不可转让。
的answer on Super User给出了一些详细信息:
有一个在OS X,Linux或任何POSIX没有真正的DLL文件对这一问题。 他们不做分化。
为什么?
很多Mac的东西,其中一个是独立的(毕竟,.app的文件夹实际上只是 文件夹)。
虽然...
Another queston on SO问同样的事情,回答说:
最后微软发布.NET的核心是完全的平台 独立。
...现在可以在Mac或Linux机器上开发.NET应用程序 使用轻量级IDE Visual Studio代码和Visual Studio for Mac IDE已经在MacOS X上的Mono集成的地方发布。
因此,如果您要使用的库(DLL)的供应商已使用.NET Core框架创建了它的一个版本,那么您可能很幸运。
这取决于:
- 管理的.NET的DLL: 可以导入和Windows
- 用同样的方式在VS本土DLL:不能直接使用。您需要为您的目标系统构建它,在您的情况下为OSX。
如果你有C/C++代码,你应该可以为OSX(例如GCC)构建它,如果它没有一些外部(Windows)平台特定的代码。然后你可以直接使用编译的* .so/* .dylib文件。但是,您需要告诉.NET Runtime(例如OSX上的Mono)使用DllMap配置文件使用不同的文件(有关示例,请参阅http://www.mono-project.com/docs/advanced/pinvoke/dllmap/)。
您链接的源代码看起来像是用于Unix的,所以能够在OSX上构建它们的机会相当不错(在Unix上有Makefile和生成的二进制文件将是libswe.so)。你可以尝试将-dynamiclib
参数传递给GCC获得OSX特定libswe.dylib(What are the differences between .so and .dylib on osx?似乎是约dylib一个很好的答案)
如果您有您的DLL的OSX的二进制文件,你只需要一个配置文件为您 。NET应用程序,它看起来是这样的:
<configuration>
<dllmap os="osx" dll="libswe.dll" target="libswe.dylib"/>
<configuration/>
它告诉.NET运行时从libswe.dylib
而不是libswe.dll
导入的符号,如果当前的操作系统是OSX。
- 1. 我可以使用Microsoft Visual Studio免费使用Aspose.Cells dll吗?
- 2. 在Visual Studio 2010中使用.dll C++
- 3. 在Visual Studio中使用dll方法
- 4. 在Visual Studio for Mac中使用Xcode
- 5. 我可以在exe中包含dll(在Visual Studio中)吗?
- 6. 使用Visual Studio构建dll
- 7. 在Visual Studio中导入Dll
- 8. 在Visual Studio中链接DLL
- 9. 在Visual Studio中引用DLL代码
- 10. 使用Visual Studio 2008编译的C++ dll可以与Visual Studio 2005一起使用吗?
- 11. 我可以使用Visual Studio 2012安装Visual Studio 2010 SP1 SDK吗?
- 12. 如果我安装Visual Studio 2008,Visual Studio 6.0可以使用吗?
- 13. 在Visual Studio 2005项目中包含使用Visual Studio 2010构建的DLL
- 14. 用Visual Studio创建.dll
- 15. Visual Studio 2010包可以安装在Visual Studio 2008中吗?
- 16. “DLL missing”visual studio 2012?
- 17. Visual Studio DLL问题
- 18. Visual Studio - dll错误。
- 19. Visual Studio 2010可以在Visual Studio中查看吗?
- 20. 的Visual Studio在Mac OS X
- 21. Visual Studio for mac是否可以在Mac上与Unity(IDE)良好协作?
- 22. 在Visual Studio 2010中使用用Cygwin编译的DLL
- 23. 在Visual Basic中使用CLS代替dll
- 24. Visual Studio for mac project.json
- 25. 可以在linux中安装visual studio吗?
- 26. 从Visual Studio中的GAC引用DLL
- 27. 在Visual Studio中调试第三方DLL?
- 28. 在Visual Studio 2010中链接DLL C++
- 29. 在Visual Studio中的静态库vs DLL
- 30. 在Visual Studio中缺少DLL错误
我很确定Visual Studio for Mac不会突然让它在Macintosh上本地执行Windows二进制文件成为可能。所以......除非我误解你的问题,否。 –
你应该联系第三方并要求他们的图书馆的Mac版本。 –
我无法验证它,但似乎.NET核心/标准DLL可能工作 – BradleyDotNET