本教程适用于以下操作系统版本
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 22.04 (Jammy Jellyfish)
本页内容
- 先决条件
- 添加 Mono 仓库
- 在 Ubuntu 上安装 Mono
- 使用 Mono 创建 Hello World 应用
- 使用 Mono 创建 ASP.NET 应用
- 结论
Mono 是 .NET 框架的一个开源实现,也是一个用于构建跨平台应用的兼容软件框架。它基于 C# 和公共语言运行时(Common Language Runtime),并支持 Linux、Windows、macOS 以及嵌入式设备等多个平台。
在本教程中,你将逐步学习如何在 Ubuntu 22.04 上安装 Mono。随后,你将学习如何使用 Mono 以及一些用于开发应用的基础工具来创建一个 Hello World 应用。
那么,让我们开始吧。
先决条件
在开始本教程之前,请确保你具备以下条件:
- 一台 Ubuntu 22.04 机器——桌面版或服务器版均可。
- 一个具有管理员权限的非 root 用户。
添加 Mono 仓库
Mono 是一个可在 Linux、Windows、macOS 和 Docker 上安装的 .NET 框架实现。在本示例中,你将通过 APT 并使用官方 Mono 仓库将 Mono 安装到你的 Ubuntu 系统。
首先,运行以下命令将 ca-certificates 和 gnupg 软件包安装到你的 Ubuntu 服务器。
sudo apt install ca-certificates gnupg
输入 y 并按 ENTER 确认安装。

现在运行以下命令,将 Mono GPG 密钥添加到 ' /usr/share/keyrings/mono-official-archive-keyring.gpg '。
sudo gpg --homedir /tmp --no-default-keyring \
--keyring /usr/share/keyrings/mono-official-archive-keyring.gpg \
--keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

然后,添加 Mono 仓库。在本示例中,你将在 Ubuntu 系统上安装 Mono Stable。
echo \
"deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | \
sudo tee /etc/apt/sources.list.d/mono-official-stable.list

最后,使用以下命令更新并刷新你的 Ubuntu 仓库。
sudo apt update
你将看到 Mono 仓库已被添加到你的 Ubuntu 系统。

在 Ubuntu 上安装 Mono
既然已经添加了 Mono 仓库,我们开始安装吧。
首先,运行以下 apt 命令查看可用的 Mono 软件包。
sudo apt search mono-*
重点来看,你可以看到多个可用的 Mono 软件包:
- mono-devel:该软件包用于编译 .NET 应用。
- mono-complete:用于通过 Mono 开发 .NET 应用的完整软件包。

现在使用以下命令将 Mono 安装到你的 Ubuntu 系统。输入 y 确认并按 ENTER 继续。在本示例中,你将安装 mono-complete 和用于调试的 mono-dbg。
sudo apt install mono-complete mono-dbg

安装完成后,使用以下命令查看 Mono 版本。
mono -V
在以下输出中,你可以看到已安装 Mono 6.12。

使用 Mono 创建 Hello World 应用
至此,你已在 Ubuntu 系统上安装了 mono-complete 软件包,可以开始开发 Mono 应用了。在本示例中,你将使用 Mono 创建一个基本的控制台应用,并借助 'csc' 编译器来编译你的应用。
首先,使用你喜欢的文本编辑器创建一个新文件 hello-mono.cs 。
vim hello-mono.cs
将以下代码复制到 hello-mono.cs 文件。
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello Mono World");
}
}
保存文件。
现在,像这样使用 csc 编译器编译 hello-mono.cs 文件。编译后的应用应为 hello-mono.exe 。
csc hello-mono.cs
最后,使用以下 mono 命令运行 hello-mono.exe 文件。如果成功,你将看到如下所示的 ' Hello Mono World ' 消息。
mono hello-mono.exe

使用 Mono 创建 ASP.NET 应用
在以下示例中,你将创建一个简单的 ASP.NET 应用,并在 Ubuntu 系统上使用 Mono 运行它。
使用你喜欢的编辑器创建一个新文件 ' hello-world.aspx '。
vim hello-world.aspx
将以下代码插入你的文件。
<%@ Page Language="C#" %> <html> <head> <title>Sample Calendar</title> </head> <asp:calendar showtitle="true" runat="server"> </asp:calendar>
完成后保存并退出文件。
现在,执行以下命令来运行你的 ASP.NET 程序。
xsp4 --port 9000
如下所示,你的应用应当可以通过 9000 端口访问。

打开你的网页浏览器并访问 http://localhost:9000/hello-world.aspx。如果安装成功,你应看到如下页面。

要终止该进程,你可以现在在终端中按 ENTER 或 Ctrl+c。
结论
总结一下,你已在 Ubuntu 机器上安装了 Mono,并学习了如何使用 Mono 为两种不同目的创建简单的 hello-world 应用:通过 ASP.NET 创建基本的控制台应用和 Web 应用。从现在起,你可以尝试在 Ubuntu 机器上搭建一个 IDE(集成开发环境)。你可以在 Visual Code Studio、Eclipse、MonoDevelop 和 ShardDevelop 之间进行选择。