![Ubuntu 14.04 对 .NET 的支持怎么样?](https://linux22.com/image/991827/Ubuntu%2014.04%20%E5%AF%B9%20.NET%20%E7%9A%84%E6%94%AF%E6%8C%81%E6%80%8E%E4%B9%88%E6%A0%B7%EF%BC%9F.png)
我必须移植一个用 C# + WinForms 编写的应用程序以在 Ubuntu 上运行。但是 .NET 和 WinForms 在 Ubuntu 上的支持情况如何?如果我拿一个 C#.NET + WinForms 项目并尝试在 Ubuntu 14 下编译,在这种情况下它会无法工作吗?我听说过 Linux 下的 .NET,但我不知道它已经完成了多少,或者 mono 仍然是唯一的方法吗?
我真的非常想避免用 C++ 和 Qt 重写整个应用程序。
答案1
您可能听说过的 Linux 上的新 .Net 称为.Net 核心。它应该得到很好的支持,但它是 .Net Framework 的一个子集,主要针对 Web 和云应用程序,并且不支持 WinForms(或任何其他 UI 库)。
因此,如果您想在 Linux 上运行 WinForms 应用程序,Mono 仍然是您的最佳选择。使用它可能对您有用,也可能没用。Miguel de Icaza 在 2014 年表示(我认为从那时起一切都没有改变):
Mono 有一个 Windows.Forms 的实现,但是它很旧,缺乏维护,而且已知存在一些错误。
有些人已经能够有效地使用它,但我们目前没有活跃的维护者,所以我们鼓励开发人员选择像 Gtk# 这样的软件。