.NET和Mono的开发差异我正在学习Mono和.NETC#,以后项目开发的时候需要在Linux服务器上运行代码。此时我一直在研究ASP.NETMVC和Mono。我运行Ubuntu发行版并想开发Web应用程序,其他一些开发人员使用Windows并使用VisualStudio来运行其他.NET项目。Mono没有为VisualStudio提供的功能吗?如果我们稍后在Linux上运行它,我们不应该使用MonoDevelop吗?是否有一些第3方工具或加载项可能是Mono的问题?Mono没有为VisualStudio提供的功能吗?MonoDevelop可能就是您的意思。MonoDevelop在Linux、MacOSX、Windows上提供基于GTK的跨平台开发。然而,由于显而易见的原因,它不像VisualStudio那样完美——它有3个人制作,而不是数百人。它有一些不错的特性,尤其是它的源代码控制插件架构。但是,由于VisualStudioExpress是免费的,因此Windows在使用它方面没有太多优势。它使用与VisualStudio相同的.csproj和.sln格式,但XML文档格式不同。如果我们稍后在Linux上运行它,我们不应该使用MonoDevelop吗?如上所述,项目格式是可互操作的。是否有一些第3方工具或加载项可能是Mono的问题?与VisualStudio不同,Monodevelop没有大量的附加组件。您在Monodevelop中使用的那些根本不会影响您的.csproj文件,因为VisualStudio无法读取它并且通常会忽略它。正如人们所说,不要将Mono与MonoDevelop混淆。MonoDevelop是Mono的IDE,最初来自(分叉的)SharpDevelop。Mono是“ape”MicrosoftCLR和框架库的跨平台框架。我在这方面没有太多经验,但是...Mono项目路线图概述了与MS.NET相比,Mono中新的、即将到来的和不存在的功能。尽管Mono具有与.NET相同的类,但请注意兼容性不是100%(尽管这通常是他们的目标)。我不确定Mono中是否有完整的遗漏列表。MonoDevelop现在可在Windows和Linux上使用,因此您最好使用它。但是,MonoDevelop似乎使用与VisualStudio和SharpDevelop相同的项目文件格式,因此您可以尝试混合使用IDE。当然,在使用第三方.NET库时,请注意其中许多库尚未使用mono进行测试,尤其是任何使用P/Invoke的库都无法在MonoforLinux上运行。然而,大多数与mono的不兼容都是次要的,如果你坚持使用开源库,你总是可以解决你遇到的任何不兼容问题。您还可以查看MonoToolsforVisualStudio。它允许您的visualstudio开发人员使用mono平台进行定位和测试您的目标是始终获得支持和/或主要在Linux上使用该软件,对吗?这实际上是我前段时间在会议上问过Mono开发人员的一个问题,它基本上归结为你想用它做什么。如果您希望它始终在Linux上运行,请使用Mono。如果您只关心Windows,请使用VisualStudio。如果您正在使用Mono,那么请在所有开发人员中使用MonoDevelop。它只会让以后的生活更轻松,而且会确保你写在一个人身上的任何东西对每个人都适用。不幸的是,我不知道Mono与NET的确切限制/优势的答案,除了.NET更进一步,Mono正在迎头赶上,也没有不同的插件。如果您的开发人员都不需要在Mono上开发某些功能,我建议您在Windows上使用VisualStudio。然后在Mono上测试应用程序MonoToolsforVisualStudio手动复制二进制文件在Linux上查看代码并在MonoDevelop中构建。我个人在尝试第三种方式时遇到了很多问题,但幸运的是我能够找到解决方法。只有当您触摸Mono时,您才知道应用程序的哪一部分需要调整。http://www.mono-project.com/Start如果可以提供帮助,建议避免使用单声道实现Remoting。似乎有一些意想不到的问题,调试起来并不直接。我们有一个非常重的Remoting产品,我们正试图将其移植到Mono,以便我们可以支持Linux。由于无法解决Remoting问题,我们最终不得不放弃尝试全面支持Linux。警告:我的经验可能已经过时了。请参阅下面的评论您不需要MonoDevelop在Linux中运行ASP.NET程序,在您的开发服务器上创建共享文件夹(VMWare或真实文件夹),经常测试以便您可以轻松解决Mono中缺少的内容。这与我在.NETRemoting程序中使用的方法相同,我在Ubuntu服务器上托管该程序。但我反过来做,因为我是一个单独的程序员,我在我的Windows开发机器上创建一个共享文件夹,然后访问我的Ubuntu测试服务器(vmware'd)上的共享文件夹。在ASP.NET上,如果更改未反映在您的Ubuntu测试服务器上,则在终端中只需触摸Ubuntu测试服务器中的Web.Config文件。即触摸Web.Config,然后刷新页面Mono具有功能齐全的ASP.NET实现。这包括对ASP.NETWeb窗体和Web服务的全面支持。这实际上意味着您使用.NETFramework开发的任何ASP.NET应用程序将或多或少地与Mono一起工作。显然,可能需要更改,例如数据访问更改、删除对.NETFrameworkBCL类型的任何依赖性。单机-网络编程C#:ubuntu11.04以上就是《C#学习教程:.NET与Mono开发差异》的全部内容。如果对您有用,需要进一步了解《C#学习教程》,希望您多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
