118

我想知道是否有有效的开源工具可以在 Linux(Ubuntu)上开发 C# 应用程序。特别是,我必须开发 Windows 窗体应用程序。

我知道Mono项目,但我从未使用过它。在 Ubuntu 上设置 .NET 开发环境的最佳工具(IDE、编译器等)是什么?

在 Linux 上开发的软件可以在 Windows 上运行吗?是否存在不同的行为或不兼容?

4

7 回答 7

77

MonoDevelop,与 Mono Project 相关的 IDE 应该足以在 Linux 上进行 C# 开发。现在我不知道在 Linux 上用于 C# 开发的任何好的分析器和其他工具。但是再次提醒您,C# 是一种更原生于 Windows 的语言。与 linux 相比,你更适合为 windows 开发 C# 应用程序。

编辑:当您从 Ubuntu 软件中心下载 MonoDevelop 时,它将包含您立即开始所需的几乎所有内容(编译器、运行时环境、IDE)。如果您想了解更多信息,请参阅以下链接:

于 2012-06-26T08:11:45.827 回答
28

现在微软正在迁移到开源 - 请参阅CoreFX (GitHub)。

于 2015-03-30T07:44:05.320 回答
7

Mono Develop 是您想要的,如果您使用过 Visual Studio,您应该会发现它足够简单,可以开始使用。

如果我没记错的话,你应该可以安装sudo apt-get install monodevelop

于 2012-06-26T08:13:59.507 回答
7

我建议使用 MonoDevelop。

它非常明确地设计用于 Mono,并且全部设置为在 C# 中开发。

在 Ubuntu 上安装它的最简单方法是在 Ubuntu 中安装 monodevelop 包。(ubuntu.com上 Mono 上的链接 )(但是,如果您想安装更新的版本,我不确定哪个 PPA 合适)

但是,我不建议使用 WinForms 工具包进行开发 - 我不希望它在 Windows 和 Mono 中具有相同的行为(实现非常不同)。有关与 Mono 一起使用的 UI 工具包的概述,您可以转到Mono-project 上的信息页面

于 2012-06-26T08:16:17.103 回答
7

这是一个老问题,但查看次数很高,所以我认为应该添加一些新信息:同时发生了很多变化,您现在也可以在 linux 上使用微软自己的 .NET Core。它也可用于 32 位和 64 位的 ARM 版本。

于 2020-11-08T15:58:15.180 回答
5

Mono是一个运行时环境,可以运行 .NET 应用程序,并且可以在 Windows 和 Linux 上运行。它包括一个 C# 编译器。

作为 IDE,您可以使用MonoDevelop,我想也有一些可用于 Eclipse 的东西。

请注意,对 Mono 的 WinForms 支持是存在的,但有些欠缺。一般来说,Mono 开发人员似乎更喜欢不同的 GUI 工具包,例如 Gtk#。

于 2012-06-26T08:15:46.447 回答
0

您也可以使用conda安装它(在 Ubuntu 上测试):

conda create --name csharp
conda activate csharp
conda install -c conda-forge mono
于 2020-09-26T11:34:12.897 回答