使用Mono进行C#开发的可行性

dev*_*ull 12 c# linux ubuntu-9.04

最近,我在Ubuntu linux中遇到了Mono和MonoDevelop软件包.他们声称拥有符合CLI的.NET运行时.在自己安装软件包之前,我想知道以下内容:

  1. Mono有多强大?

  2. 我可以像开发Windows的WinForm应用程序一样为Linux开发GUI应用程序.

  3. MonoDevelop IDE是否与Visual Studio IDE兼容.我可以将VS 2008解决方案导入MonoDevelop并运行吗?

  4. 它是否支持.NET 2.0及更高版本?

编辑:再添一个疑问

有没有办法在Linux中运行.NET exe(一个winform应用程序)而不在linux中构建cod e?实际上我没有我之前开发的一些小实用程序的代码,并且想在linux中运行它们.

Ore*_*ost 6

  1. (奇怪的是,markdown用一个开始枚举,即使我从2开始...)

  2. 是的,你可以,但你与第三方组件的限制,因为内部的实现是不同的,我最后一次检查(不是很长前),单声道的WinForms实现了我的测试应用程序的外观比较奇怪(所有者绘制列表显示).虽然Mono声称它现在完全与WinForms-2.0兼容,但并不是真的推荐它.

  3. MonoDevelop是一个SharpDevelop分支,后者提供解决方案支持.我不知道MonoDevelop是否有.但很酷的是,您可以使用Visual Studio进行开发并在Mono上运行已编译的应用程序.顺便说一下,Mono也适用于Windows.

  4. 是的,就CLR而言,确实如此.正如Marc Gravell已经写过的那样,Windows Foundation库和其他一些库(例如System.Management)一样缺失.但事情应该最重要,包括ASP.NET 2.0.Mono的应用程序可移植性指南很好地解读了这一点.