c# - 如何在Linux下运行C#项目

标签 c# .net linux

您知道在 Linux 下运行 C# 项目的任何方法吗?有没有这方面的框架或库?

最佳答案

您正在寻找 Mono Project - .NET Framework 和 CLR 的跨平台(但主要针对 Linux)实现。它能够运行为 CLR (MS .NET) 编译的二进制文件,或创建自己的 native Linux 二进制文件。

该项目已经进行了一段时间,当前版本 (2.4) 非常有用,即使对于 production purposes 也是如此。 .查看project roadmap有关当前和 future 版本的主要功能和里程碑的详细信息。

关于当前状态的详细信息:

绝大多数 BCL(基类库)在 Mono 上可用,除了一些 .NET 3.0/3.5 的东西,例如 WPF(目前支持很少)和 WCF(几乎不存在支持)。然而,Silverlight 2.0 通过 Moonlight 得到支持。项目,并且进展顺利。然而,据我所知,WinForms 功能(使用 GTK# 作为后端)非常完整。

C# 3.0 语言的实现实际上已完成,包括 C# 3.0 功能,例如 lambda 表达式LINQ自动属性。我相信C# compiler成熟到它的效率至少可以与 MS 编译器相媲美,尽管在某些方面还不匹配。 Mono C# 编译器非常酷(且独特)的地方在于它现在提供编译器服务 - 换句话说,真正的代码动态编译(不使用 CodeDOM)。这是 MS 可能只会在 .NET 5.0 中添加的内容。

关于c# - 如何在Linux下运行C#项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950360/

相关文章:

c# - 在 ASP.NET MVC View 中转换 IEnumerable(到数组、列表)

c# - 使用 Roslyn-CTP 的单个右括号的奇怪解析行为

linux - 我怎样才能得到这个月的最后一天 Shell 脚本

linux - 让 bash 接受函数参数

c# - .NET - 如何隐藏 DateTimePicker 中的无效选择

c# - Entity Framework 关系映射中的错误

c# - SpellCheck .Net 类是否支持俄语?

C# 线程读写文件

.net - 如何使用 .net 中的 RX 扩展来使用 UDP 字节流

linux - CentOS yum 失败,出现 libcurl.so.4 错误,说 'undefined symbol: libssh2_agent_disconnect'