通过 Snap 安装 .NET 运行时
本文介绍了如何安装 .NET 运行时 Snap 包。 .NET 运行时 snap 包由 Canonical 提供和维护。 对于内置于 Linux 发行版的包管理器而言,Snap 是一种很好的替代方法。
Snap 是应用及其依赖项的捆绑包,可在多个不同的 Linux 发行版中正常运行。 可以从 Snap Store 中发现和安装 Snap。 有关 Snap 的更多信息,请参阅快速入门教程。
注意
.NET 的 Snap 安装可能会遇到运行 .NET 工具的问题。 如果要使用 .NET 工具,建议使用 dotnet-install
脚本或特定 Linux 发行版的包管理器来安装 .NET。
先决条件
- 支持 Snap 的 Linux 发行版。
snapd
Snap 守护程序。
你的 Linux 发行版可能已经包含 Snap。 尝试在终端中运行 snap
以查看命令能否工作。 有关支持 Snap 的 Linux 发行版列表以及有关如何安装 Snap 的说明,参见安装snapd
部分。
.NET 版本
Microsoft 以两种不同的支持策略 (LTS) 和标准期限支持 (STS) 发布 .NET。 所有版本的质量都是一样的。 唯一的区别是支持的时间长短。 LTS 版本可获得为期三年的免费支持和补丁。 STS 版本可获得 18 个月的免费支持和修补程序。 有关详细信息,请参阅 .NET 支持策略。
Microsoft 目前支持的 .NET 版本包括:
- 8.0 (LTS),支持将于 2026 年 11 月 10 日结束。
- 6.0 (LTS),支持将于 2024 年 11 月 12 日结束。
生成和发布 .NET 的其他实体可能会引入不同的支持策略。 务必向他们了解 .NET 的支持方式。
1.安装运行时
以下步骤用于安装 .NET 8 运行时 Snap 包:
打开终端。
使用
snap install
安装 .NET 运行时 Snap 包。 例如,以下命令可以安装 .NET 8 运行时。sudo snap install dotnet-runtime-80
每个 .NET 运行时作为单独的 Snap 包发布。 下表列出了包:
.NET 版本 | Snap 包 | Microsoft 支持的 .NET 版本 |
---|---|---|
8 (STS) | dotnet-runtime-80 |
是 |
7 (STS) | dotnet-runtime-70 |
否 |
6 (LTS) | dotnet-runtime-60 |
是 |
5 | dotnet-runtime-50 |
否 |
3.1 | dotnet-runtime-31 |
否 |
3.0 | dotnet-runtime-30 |
否 |
2.2 | dotnet-runtime-22 |
否 |
2.1 | dotnet-runtime-21 |
否 |
2.启用 dotnet 命令
安装 .NET 运行时 Snap 包后, dotnet
命令不会自动配置。 执行 snap alias
命令以便能在终端中使用 dotnet
命令。 此命令的格式为 sudo snap alias {package}.{command} {alias}
。 以下示例映射了 dotnet
命令:
sudo snap alias dotnet-runtime-80.dotnet dotnet
3.导出安装位置
DOTNET_ROOT
环境变量经常被工具用来确定 .NET 的安装位置。 通过 Snap 安装 .NET 时,不配置此环境变量。 应在配置文件中配置 DOTNET_ROOT 环境变量。 Snap 的路径采用以下格式:/snap/{package}/current
。 例如,如果你安装了 dotnet-runtime-80
Snap,则使用以下命令将环境变量设置为 .NET 所在的位置:
export DOTNET_ROOT=/snap/dotnet-runtime-80/current
永久导出环境变量
前面的 export
命令只为运行它的终端会话设置环境变量。
你可以编辑 shell 配置文件,永久地添加这些命令。 Linux 提供了许多不同的 shell,每个都有不同的配置文件。 例如:
- Bash Shell:~/.bash_profile、~/.bashrc
- Korn Shell:~/.kshrc 或 .profile
- Z Shell:~/.zshrc 或 .zprofile
为 shell 编辑相应的源文件并添加 export DOTNET_ROOT=/snap/dotnet-runtime-80/current
。
故障排除
dotnet 终端命令不起作用
Snap 包可以将别名映射到该包提供的命令。 .NET 运行时 Snap 包不会自动别名 dotnet
命令。 要将 dotnet
命令别名为 Snap 包,请使用以下命令:
sudo snap alias dotnet-runtime-80.dotnet dotnet
将 dotnet-runtime-80
替换为运行时包的名称。
无法在 WSL2 上安装 Snap
必须先在 WSL2 实例上启用 systemd
,然后才能安装 Snap。
在你选择的文本编辑器中打开
/etc/wsl.conf
。粘贴以下配置:
[boot] systemd=true
保存文件并通过 PowerShell 重启 WSL2 实例。 使用
wsl.exe --shutdown
命令。
4.使用 .NET CLI
打开终端并键入 dotnet
。
dotnet
将显示类似于下面的输出:
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。