使用mono project在linux上运行c#代码有哪些优点和局限性?
如果有人能够解决使用mono project在Linux上运行C#代码的优点和局限性,请告诉我你的想法…这是一个巨大的优点-它可以工作。您可以在Linux(和其他平台,包括Windows)上使用C#,开发和运行使用mono project在linux上运行c#代码有哪些优点和局限性?,c#,linux,mono,C#,Linux,Mono,如果有人能够解决使用mono project在Linux上运行C#代码的优点和局限性,请告诉我你的想法…这是一个巨大的优点-它可以工作。您可以在Linux(和其他平台,包括Windows)上使用C#,开发和运行 缺点是,事情并不总是像MS的.NET实现那样运行,而且有些功能根本没有实现,比如WPF。我已经用C#开发了一些应用程序,并试图通过Mono在Linux上运行一些应用程序。让控制台应用程序以非常简单的方式运行。大多数情况下,在Mono下运行这些类型的应用程序不需要更改代码。然而,GUI应用
缺点是,事情并不总是像MS的.NET实现那样运行,而且有些功能根本没有实现,比如WPF。我已经用C#开发了一些应用程序,并试图通过Mono在Linux上运行一些应用程序。让控制台应用程序以非常简单的方式运行。大多数情况下,在Mono下运行这些类型的应用程序不需要更改代码。然而,GUI应用程序总是比较棘手。您应该知道的第一件事是,您的用户界面不会与用户的主题融为一体。假设您使用的是Microsoft的System.Windows.Forms,则该应用程序将始终看起来像Windows 98应用程序 但是,如果您计划只在Linux上编写和运行应用程序,那么您可以使用Mono的Gtk来构建用户界面。这与Linux桌面的集成比System.Windows.Forms好得多。给出了不同GUI工具包的详细介绍,它们的优点和缺点
如果您坚持使用System.Windows.Forms作为GUI工具包,以便在Windows和Linux上运行应用程序,请记住,即使Mono支持C#4.0,您最好将自己限制在C#2.0,由于3.0及更高版本的某些功能未在Linux上实现或无法正常工作。优点
- 投资——当你选择正确的软件时,在Linux上运行Mono时,你不必支付软件许可证费用(这并不意味着它是免费的——Linux只有在你的时间没有价值的情况下才是免费的)
- 没有供应商锁定-与MS解决方案相比,Linux上的其他软件(例如DB或Web服务器)有更多的选择,MS解决方案最适合与其他MS产品配合使用
- 特定于Mono的库(例如Mono.Simd或REPL)
- 开源(您或其他人可以自己修复bug/提供补丁/改进代码)
- 与MS.NET framework不兼容
- 一般来说,您可能会在某些事情上花费更多的时间(例如处理不兼容问题或学习Linux管理等等)
- 当新版本的.NET framework发布时,Mono在一段时间内还没有更新新的API和功能