C# 的知识在 Linux 系统中有用吗?

Jac*_*cob 51 mono programming c# application-development dotnet

我知道 C#,我喜欢在系统之间切换并使用 Linux。我可以使用 C# 构建可在 Linux 上本地运行的应用程序吗?我应该怎么做才能在 Linux 系统中利用我的 C# 知识?

请注意,我专注于 Unity3D,但我仍然想使用 C# 创建 Linux 应用程序。

Eli*_*gan 78

是的,您可以在 Ubuntu 上开发软件,该软件本身将在 Ubuntu 上运行,使用 C#。两个单声道.NET核心支持的GNU / Linux系统,比如Ubuntu。(您也可以在其他发行版上使用它们,例如 Debian、Raspbian、Fedora、CentOS、Arch、Gentoo 等。)您可能知道,Unity3D 游戏引擎还支持 Ubuntu。Unity3D嵌入 Mono

许多适用于 Ubuntu 的软件包可使用来自官方社区支持的软件源的 Ubuntu 软件包管理器进行安装,它们是用 C# 编写的并使用 Mono。这包括音乐播放器Banshee、笔记应用Tomboy、光栅图形编辑器Pinta和密码管理器KeePass(自第 2 版起)。

大多数文本编辑器,例如 Gedit、Vim 和 Emacs,都具有 C# 的语法高亮显示功能。MonoDevelopVisual Studio Code是两种流行的集成开发环境,它们在 Ubuntu 上运行并支持 C# 开发。

  • 也许还可以提到 Rider,它是基于 Intellij 思想的 C# IDE,包含 ReSharper for Visual Studio 的所有功能。 (10认同)

小智 59

您很可能会偶然发现http://www.mono-project.com/

正如关于 Mono页面所说:

Mono 是基于 .NET Framework 的开源开发平台,它允许开发人员构建跨平台应用程序,并提高开发人员的工作效率。Mono 的 .NET 实现基于C#公共语言基础结构的 ECMA 标准。

支持的平台包括Linux操作系统。

  • 最新版本的 Microsoft 实现 (.Net Core) 也支持 Linux。 (42认同)
  • 几年前,这将是一个不错的答案。现在它已经过时了。 (13认同)
  • Mono 实现了 .net 标准 2.0 (iirc) 而不仅仅是核心。 (6认同)
  • Mono……听起来很熟悉……哦,是的,这就是基于 Unity 的东西!我不知道我可以单独使用它。我认为它是 Unity3d 的一部分。 (2认同)
  • 如果您使用的是最新版本的 Ubuntu,请不要使用 mono,它有很多错误和糟糕的实现,请使用 .net core。在我工作的地方,我们在旧的 linux 发行版上运行 C# 应用程序时遇到的几乎所有问题都可以用以下语句来解释:“因为单声道”。异常过滤器丢失堆栈跟踪,异步实现是 Task.Run 包装器,整个镜头内存泄漏以及缺乏 valgrind 支持,因此您甚至无法正确诊断泄漏。 (2认同)

gor*_*lok 22

  1. 您现在可以使用 C#(. NET Core框架)在 Linux 上开发服务器应用程序,就像使用 Java 或 Python 一样。我所说的服务器应用程序主要是指 Web 应用程序和 Web 服务 (REST) 应用程序。这与 Linux 容器 ( Docker /K8s) 和云完美匹配。
  2. 您可以使用 Mono Framework(.NET 实现)和 GTK# (GtkSharp) 工具包(GTK 的包装器)使用 C# 开发桌面应用程序。有很多项目是在它上面开发的。该框架在过去曾受到部分 Linux 社区的抵制。一些发行版和用户不想要 Mono 应用程序。
  3. 您可以在 Linux 上使用 C# 使用 Unity 引擎开发游戏。Unity Editor 在 Linux 上还处于试验阶段。

所以,是的。C# 知识在当今的 Linux 系统上非常有用。

  • 您还可以在 .NET Core 中执行桌面应用程序。 (4认同)