为.NET和mono编写C#应用程序的指南

6

Mono声称与.NET兼容。

你有尝试过吗?

你能分享一些使运行的.NET应用程序与mono兼容的提示或指南吗?


希望你不介意我的修改——只是想改进问题的语法。 =) - Erik Forbes
4个回答

5
也许MoMA可以帮助您。

据我理解,这个工具是用来检查代码后的,我希望在编写代码之前有一些指导方针。谢谢! - FerranB

4

3
基本上,要疯狂地进行单元测试!我在一个宠物项目(protobuf-net)中支持mono和C#,让它在不同平台上编译甚至是有趣的事情(我支持mono、CF、Silverlight等)。在mono中有许多编译器bug(即使在当前版本中也是如此),特别是涉及泛型的bug——这意味着你可能需要使用稍微不同的代码来使它在所有平台上都能编译。
然后你需要考虑你需要哪些框架特性。例如,避免使用任何类似WPF/WCF/WF的东西。但如果你坚持使用核心2.0特性,一般情况下是可以的。不过,在许多地方,mono仍然会抛出NotImplementedException异常。最近的一个例子中,有两种做法:旧的方法在mono上可以工作,但在MS上已经被弃用;新版本在MS上可以工作,但在mono上会抛出NotImplementedException异常。有趣!

1
在你遇到“NotImplementedException”这种情况下,Mono最好的地方就是它是开源的,你可以自由地去实现它。 - Erik Forbes

0

记得要注意以下两点:

  • 不要试图做任何花哨的东西。

  • 不要期望在 Mono 上第一次尝试就能成功。

Mono 在处理日常任务时效果非常好,例如字符串操作和显示网页等。但是对于那些需要使用 .NET 运行库中一些细微隐藏角落的任务来说,则表现糟糕。比如密码学仍然停留在 1.1 版本,即使有些功能也无法正常工作。

总之,Mono 并非解决所有问题的万能药。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接