如何在基于 RHEL 的 Linux 中安装 Mono .NET Framework
Mono 是 Microsoft .NET 框架的免费、开源和跨平台实现,它运行在 Linux、macOS、BSD 和 Windows 上,支持 x86、ARM、PowerPC 等各种 CPU 架构, 和更多。 Mono 使软件开发人员能够使用 C# 语言轻松创建跨平台应用程序。
Mono 项目由 Microsoft 赞助,是 .NET 基金会的一部分,该基金会由 C#编译器、mono 运行时、基类库和 mono 类库。
在本指南中,我们将展示如何在基于 RHEL 的发行版(例如 CentOS、 >Rocky Linux、AlmaLinux 和 Fedora Linux。它还展示了如何从命令行编译和运行单声道程序。
在基于 RHEL 的发行版中安装 Mono
要安装 Mono,首先,在您的系统上设置包存储库,然后通过运行以下命令安装 mono 包。请记住为您的操作系统版本运行适当的命令。
对于每个版本部分,第一个命令导入存储库密钥,dnf 命令安装 mono 包。
在 CentOS/RHEL/Rocky & AlmaLinux 8 上
# rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# su -c 'curl https://download.mono-project.com/repo/centos8-stable.repo | tee /etc/yum.repos.d/mono-centos8-stable.repo'
# dnf install mono-devel
在 CentOS/RHEL 7 上
# rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'
# yum install mono-devel
在 CentOS/RHEL 6 上
# rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# su -c 'curl https://download.mono-project.com/repo/centos6-stable.repo | tee /etc/yum.repos.d/mono-centos6-stable.repo'
# yum install mono-devel
在 Fedora 29 及更高版本上
# rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# su -c 'curl https://download.mono-project.com/repo/centos8-stable.repo | tee /etc/yum.repos.d/mono-centos8-stable.repo'
# dnf update
# dnf install mono-devel
以下是您还可以安装的额外 mono 包:
- mono-complete – 包含使用 Mono 应用程序所需的一切。
- mono-dbg – 为框架库提供调试符号。
- referenceassemblies-pcl – 提供 PCL 编译支持,以及。
- xsp – 运行 ASP.NET 应用程序所需的 Web 服务器。
例如,您可以像这样安装 mono-complete 包:
# yum install mono-complete
OR
# dnf install mono-complete
在您的系统上成功安装 Mono 包后,您需要验证安装。一个简单的步骤是检查安装的 mono 包的版本,如下所示:
# mono -V
OR
# mono --version
如何在 Linux 终端中编译和运行 Mono 程序
下一步是确保正确设置 Mono 组件。您可以使用小型 hello world 程序对此进行测试。复制以下代码并将其粘贴到名为 hello.cs 的文件中。
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello Mono World – This is TecMint.com");
}
}
现在通过运行以下命令使用 C# 编译器 (csc) 编译 hello.cs 程序。它将在当前目录中生成一个hello.exe 可执行文件。
$ csc hello.cs

接下来,使用 mono 命令运行 hello.exe 可执行文件。它应该显示字符串:Hello Mono World – This is TecMint.com,如以下屏幕截图所示。
$ mono hello.exe

让我们看另一个简单的示例代码,它将创建一个 System.Windows.Forms 桌面应用程序。将其复制并粘贴到 hello2.cs 文件中。
using System;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()
{
Text = "Hello Mono World – This is TecMint.com";
}
}
接下来,像之前一样使用 csc 命令编译程序,如下所示。它还会在工作目录中生成一个名为 hello2.exe 的可执行文件。
$ csc hello2.cs
现在运行 hello2.exe 可执行文件,它将输出一个小型 GUI(图形用户界面)桌面应用程序,如以下屏幕截图所示。
$ mono hello2.exe

您可以通过运行以下命令查看所有 mono 命令选项:
$ mono -h
目前为止就这样了! Mono 项目得到了一个活跃而热情的贡献社区的支持。如果您对该项目感兴趣,您可以通过提交错误报告、添加新代码或与开发人员聊天等方式做出贡献。
有关 Mono 项目的更多信息,请查看该项目的官方网站:https://www.mono-project.com/