我刚开始学习Mono。我有一个.NET Framework 3.5的程序集,想知道是否可以在Mono中使用它。具体来说:
我需要用Mono编译我的.NET项目吗?还是Mono能够运行从Visual Studio编译出来的.NET程序集?
是否存在单独的MonoDroid和MonoTouch编译器?
Mono是否能够与混淆的程序集一起使用?
如何在Mono、MonoDroid和MonoTouch中测试我的程序集?我真的需要购买安卓手机和iPhone吗?还是有Mono模拟器可用?
我刚开始学习Mono。我有一个.NET Framework 3.5的程序集,想知道是否可以在Mono中使用它。具体来说:
我需要用Mono编译我的.NET项目吗?还是Mono能够运行从Visual Studio编译出来的.NET程序集?
是否存在单独的MonoDroid和MonoTouch编译器?
Mono是否能够与混淆的程序集一起使用?
如何在Mono、MonoDroid和MonoTouch中测试我的程序集?我真的需要购买安卓手机和iPhone吗?还是有Mono模拟器可用?
Mono可以运行使用Visual Studio编译的程序集。MonoTouch和Mono for Android程序集通常需要使用提供的mono编译器重新编译,以确保它们编译时使用正确的框架程序集(这样在运行时就不会使用不可用的功能);
两者都有自己的smcs
编译器,但它们基本相同(在MonoTouch和Mono for Android之间),即取决于发布日期,其中一个可能比另一个更更新;
这取决于混淆的方式。某些工具会执行ECMA不兼容但MS JIT允许的操作。这些技巧可能无法在Mono上运行。
同时,MonoTouch和Mono for Android都可以作为试用版使用,并且可以与iOS模拟器(MonoTouch)或Android模拟器(Mono for Android)配合使用。但是模拟器不是真实的设备(例如性能或甚至功能),因此您最终需要硬件设备来确保一切正常(但您可以先在没有硬件的情况下开始)。
您可以使用mono迁移分析器运行您的代码,以查看哪些部分失败或不受支持。您可以在此处找到该工具:http://www.mono-project.com/MoMA。
您还可以查看当前mono与各种.Net功能的兼容性情况,网址为http://www.mono-project.com/Compatibility。