我想知道是否有有效的开源工具可以在Linux(Ubuntu)上开发C#应用程序。特别是,我必须开发WinForm应用程序。
我知道 Mono项目,但我从未使用过它。 你能否告诉我在Ubuntu上设置.NET开发环境的最佳工具(IDE,编译器等)是什么?
在Linux上开发的软件是否可以在Windows上运行?是否存在不同的行为或不兼容性?
答案 0 :(得分:63)
MonoDevelop,与Mono Project相关的IDE应该足以在Linux上进行C#开发。现在我不知道Linux上的C#开发有什么好的剖析器和其他工具。但是请再次提醒您,C#是一种更为Windows原生的语言。您最好为Windows开发C#应用程序而不是Linux。
编辑:从Ubuntu软件中心下载MonoDevelop时,它将包含您立即开始所需的一切(编译器,运行时环境,IDE)。如果您想了解更多信息,请参阅以下链接:
答案 1 :(得分:23)
现在微软正在迁移到开源, https://github.com/dotnet/corefx 享受!
答案 2 :(得分:9)
我建议使用MonoDevelop。
它非常明确地设计用于Mono,并且所有设置都是用C#开发的。
在Ubuntu上安装它的最简单方法是在Ubuntu中安装monodevelop软件包。 (link on Mono on ubuntu.com)(但是,如果您想安装更新版本,我不确定哪种PPA适合)
但是,我不建议使用WinForms工具包进行开发 - 我不希望它在Windows和Mono中具有相同的行为(实现方式非常不同)。有关使用Mono的UI工具包的概述,您可以转到the information page on Mono-project。
答案 3 :(得分:6)
Mono Develop就是你想要的,如果你使用了visual studio,你会发现它很简单,可以开始使用。
如果我没记错,您应该可以使用sudo apt-get install monodevelop
答案 4 :(得分:4)
Mono是一个运行时环境,可以运行.NET应用程序,并且可以在Windows和Linux上运行。它包括一个C#编译器。
作为IDE,您可以使用MonoDevelop,我想也可以使用Eclipse。
请注意,Mono上的WinForms支持是存在的,但有些缺乏。通常,Mono开发人员似乎更喜欢不同的GUI工具包,例如Gtk#。
答案 5 :(得分:0)
您还可以使用conda(在Ubuntu上测试)安装它:
conda create --name csharp
conda activate csharp
conda install -c conda-forge mono
答案 6 :(得分:0)
这是一个古老的问题,但是它具有很高的视图计数,因此,我认为应该添加一些新信息:同时发生了很多变化,现在您还可以使用Microsoft's own .NET Core on linux。在32位和64位ARM版本中也可以使用。