我正在使用C#创建一个使用MonoGame的游戏,我希望在多个平台上使用它(我知道MonoGame可以做到)。
有没有办法在C#中创建.dll并从其他操作系统(最好是iOS,Android和MacOS)加载它而无需重新编译库?我准备为每个平台编写一个“加载器”应用程序,但不想重写整个项目。
我希望有一种方法可以在这些平台上加载.net dll(即加载游戏)的功能,而无需使用MonoTouch等付费产品。
答案 0 :(得分:2)
基本上.NET / Mono程序集都被编译为CIL代码,这是一个ECMA标准。
但是,您仍然必须以不依赖于操作系统细节的方式对游戏进行编程。
Mono上的线程有一些捕获,因此您可能必须使用预处理器指令制作特定于平台的代码。
老实说,我没有看到必须重新编译代码的问题,如果它清楚地写了,只需要在解决方案文件中添加一个新项目并设置预处理器标志。然后,您所要做的就是编译解决方案并在bin文件夹中包含多个DLL。没有人说你必须重写完整的项目(除非项目已经完成并且有任何提到的依赖关系),在这种情况下......你自己的错误是不必考虑它在开始开发之前。
您只需使用所需的Mono Runtime部署您的应用程序(在iOS等)。为此,您可能需要像Xamarin这样的东西或连接自己的Mono运行时
参考链接: http://www.mono-project.com/Compatibility http://www.mono-project.com/MoMA
答案 1 :(得分:1)