我知道在Windows中构建的二进制文件不需要为使用Mono的Linux计算机重新编译。它是否以其他方式工作?使用Mono在Linux机器上构建的二进制文件是否可以在仅使用.NET Framework的Windows上运行?在Windows上使用Mono构建的可执行文件
4
A
回答
5
是的 - 文件格式在Mono和.NET之间是可移植的。当然,这是禁止执行中的错误,这不是不可能的。
文件格式,甚至记录在ECMA-335,分区2,第25条
显然你需要的任何组件,您的应用程序引用。我相信,即使P/Invoke 可以可移植,如果你有相同的本地库名称暴露相同的功能。
2
不要忘了.NET二进制文件(exe或dll)包含与平台无关的IL代码。
因此,只要包含标准的可移植可执行文件(PE)头信息,可以在Windows上运行使用Linux上的Mono构建的二进制文件。二进制内的所有其他代码都是平台无关的IL。
要在实际操作中看到这一点,请尝试在Linux机器上安装MonoDevelop,然后构建一个简单的测试项目。
生成项目后,找到Debug目录。它包含的exe文件可以直接复制到窗口并运行。
相关问题
- 1. 在Windows上构建Mono的类库
- 2. 使用Mono为Linux创建可执行文件?
- 3. Maven exec插件构建成功,即使可执行文件在Windows上失败
- 4. .net可执行文件在xp上构建,不能在Windows 7上启动 - werfault
- 5. 如何在Windows XP上使用Perl运行可执行文件?
- 6. Windows可执行文件结构
- 7. 使用Mono在Linux中识别可执行文件?
- 8. 无法运行使用gcc构建的可执行文件
- 9. 使用swift在iOS上运行预构建可执行文件3 Xcode 8.2.1
- 10. 从python源代码构建一个Windows可执行文件
- 11. 在Mono下运行由F#3生成的可执行文件
- 12. 如何在Travis CI上构建MacOSX可执行文件?
- 13. 如何在Mac上构建SML/NJ可执行文件
- 14. 使用py2exe构建python代码的可执行文件
- 15. 试图在Linux/Ubuntu上使用Oracle库构建静态CGO可执行文件
- 16. 如何在Windows上创建单个文件的可执行文件python 2.7 x64?
- 17. 如何使用Qt构建静态库和可执行文件?
- 18. 使用maven构建可执行文件jar?
- 19. 使用Android NDK构建可执行文件
- 20. 从我的Ruby应用程序构建一个Windows可执行文件?
- 21. ruby中创建的文本文件正在构建为可执行文件
- 22. NAnt和双平台构建 - 在Windows和Mono/Linux上构建的最佳方式
- 23. 简化构建多个可执行文件的Android.mk文件
- 24. 如何在使用PyInstaller创建的可执行文件上使用xml.sax模块?
- 25. 在Windows上执行映射文件
- 26. 在Mac上,Mono可以用来构建winsock2.h?
- 27. 用GCC构建最小化的独立可执行文件
- 28. 如何用CruiseControl.Net构建忽略可执行文件的输出?
- 29. 在Windows Vista上覆盖C:\ Program \ MyProg中的可执行文件
- 30. 使用VS2010构建的可执行文件在System32中找不到DLL