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