我是Windows平台上.NET Framework的长期用户,但我也在Linux上做了很多编程。我想利用Mono进行某些特定的项目,但是我最后一次尝试(也许是2年前?),Mono根本没有完成任务。同样,从他们的网站或谷歌搜索获得关于Mono状态的非常好的信息特别困难。
是否有任何Mono专家可以为曾经在Windows上使用.NET 3.0的人简化项目的当前状态?大概有多少基类库可用,以及WinForms有多少?
提前致谢!
答案 0 :(得分:14)
API状态:go-mono.com/status
如果您想将现有应用迁移到Linux:MoMA
我也认为这是一个更好的主意......
我的短暂经历总结:
有关新闻和内容,请访问Miguel的博客tirania.org/blog/
答案 1 :(得分:4)
我认为,如果它可以支持像Unity这样的游戏创建引擎的开发,它将用于开发模拟人生3等等。此外,Mono团队在某些方面在他们自己的游戏中击败微软,创建类似静态链接器的东西,以便.NET代码可以在iPhone上本地运行,以及C#REPL控制台。
对于它的价值,我一直在ASP.NET方面玩它,虽然有一些颠簸,但它是一个非常积极的体验。我能够使用NHibernate和MySQL运行ASP.NET MVC应用程序。
答案 2 :(得分:4)
当前的单声道实现(2.4)在.NET 2.0编译方面(以及3.5中的一些库,如ASP.NET MVC或LINQ)非常好,但仍然远离通用的.NET 3.0 / 3.5 。如果您的应用程序是使用winforms设计的,并且在.NET 3.0 / 3.5中没有使用太多,那么您很有可能使用单声道。当然,.NET 3.5框架的某些部分可能永远不会得到支持,比如WPF。
单声道页面上有一个Migration Analyzer可以确定您的应用程序是否运行正常,或者不是单声道2.4。
答案 3 :(得分:3)
mono website表示支持以下C#3.0功能:
答案 4 :(得分:2)
根据我对Window Forms区域的经验,.NET 2.0部分似乎运行良好。软件越复杂,您将遇到的问题就越多。有些事情必须改变才能使事情发挥作用。路径分隔符之类的东西。此外,一些Win Forms控件的行为也不同,诸如事件触发顺序之类的小事情就会在你身上蔓延。你必须测试一切,你会发现问题,就像在Java中一样。你会发现Win / Mono和Linux / Mono的所有排列问题,Mono也有没有修复的错误,可能是一个显示停止。
您可以使用MOMMA工具查找已知问题,但它无法捕获所有内容。 http://www.mono-project.com/MoMA
调试问题很慢,并且设置调试环境很困难。
我,但我认为对于.NET 3.0来说还是太早了,除非你是为了好玩而做的。
答案 5 :(得分:2)
根据我的经验,像datagridview这样的特殊控件已经走了很长的路。他们到了那里,但他们还没完全到那里。
我使用OpenTK库开发了一个小型OpenGL应用程序。这个应用程序在Windows和Mono上运行时大多是相同的,但像datagridview这样的东西在实现中似乎有点随机。选择单声道的最新版本,你应该是很好的。
在我看来,差异现在很小,没有任何破坏者(execpt可能是调试器)。但是Monodevelop缺乏VS的漂亮重构工具。