C:\Program Files\Mono-2.10.8\bin>mono.exe D:\WindowsFormsApplication1.exe注意:不是所有的C#代码Mono都支持!所以,在使用Mono运行Windows窗体应用程序前,我们要使用Mono Migration Analyzer(MoMA)这个工具对应用程序进行分析,尽量在运行前发现可能存在的问题并进行修改。
MoMA使用示例
①.打开MoMA,添加要分析的程序和程序集:

②.MoMA分析结果摘要:

导致Mono运行应用程序出错的4类问题:
·Missing Methods
·P/Invokes
·NotImplementedException
·MonoTodo
③.查看报告明细并修改代码:

修改思路:
·移除或注释掉代码;
·改写代码使Mono支持;
·使用编译条件#if Mono,对要在Mono运行的程序进行单独编译;
④.使用MoMA对修改后的程序再次进行分析

OK,这样程序就可以在Mono下运行了。
参考资料
[1].Mono:http://mono-project.com/
[2].Compatibility:http://mono-project.com/Compatibility
[3].MoMA:http://www.mono-project.com/MoMA
[4].Porting Winforms Applications:http://www.mono-project.com/Guide:_Porting_Winforms_Applications
[5].Fixing issues MoMA finds:http://www.mono-project.com/MoMA_-_Issue_Descriptions
评论(0)
暂无评论。