手动安装 .NET SDK 或 .NET Runtime

.NET 在 Linux 上受支持,本文就将介绍如何使用安装脚本或通过提取二进制文件在 Linux 上安装 .NET。 有关支持内置包管理器的发行版列表,请参阅在 Linux 上安装 .NET

还可通过 Snap 安装 .NET。 有关详细信息,请参阅通过 Snap 安装 .NET SDK 或 .NET Runtime

如果要开发 .NET 应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时。 如果要安装该运行时,建议安装 ASP.NET Core 运行时,因为它同时包括 .NET 和 ASP.NET Core 运行时。

如果已安装 SDK 或运行时,请使用 dotnet --list-sdksdotnet --list-runtimes 命令查看安装了哪些版本。 有关详细信息,请参阅如何检查是否已安装 .NET

.NET 版本

下表列出了 .NET(和 .NET Core)版本:

✔️ 受支持 ❌ 不受支持
6 (LTS) 3.0
5 2.2
3.1 (LTS) 2.1
2.0
1.1
1.0

有关 .NET 版本的生命周期的详细信息,请参阅 .NET 和 .NET Core 支持策略

依赖项

安装 .NET 时,例如手动安装时,可能不会安装特定依赖项。 下面的列表详细列出了 Microsoft 支持的 Linux 发行版以及可能需要安装的依赖项。 更多信息,请查看发行版页面:

有关依赖项的一般信息,请参阅独立式 Linux 应用

RPM 依赖项

如果之前未列出发行版,并且该版本基于 RPM,则可能需要以下依赖项:

  • krb5-libs
  • libicu
  • openssl-libs

如果目标运行时环境的 OpenSSL 版本为1.1 或更高版本,则需要安装 compat-openssl10。

DEB 依赖项

如果之前未列出发行版,并且该版本基于 debian,则可能需要以下依赖项:

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu67
  • libssl1.1
  • libstdc++6
  • zlib1g

通用依赖项

对于使用 System.Drawing.Common 程序集的 .NET 应用,还需要以下依赖项:

脚本安装

dotnet-install 脚本用于 SDK运行时 的自动化和非管理员安装。 可通过 https://dot.net/v1/dotnet-install.sh 下载脚本。

重要

需要 Bash 才能运行该脚本。

此脚本默认安装最新的 SDK 长期支持 (LTS) 版本,即 .NET 6。 若要安装当前版本(可能不是 (LTS) 版本),请使用 -c Current 参数。

./dotnet-install.sh -c Current

若要安装 .NET 运行时而非 SDK,请使用 --runtime 参数。

./dotnet-install.sh -c Current --runtime aspnetcore

可以通过更改 -c 参数以指示特定版本来安装特定版本。 以下命令将安装 .NET SDK 6.0。

./dotnet-install.sh -c 6.0

有关详细信息,请参阅 dotnet-install 脚本参考

手动安装

除了使用包管理器,还可以下载并手动安装 SDK 和运行时。 手动安装通常作为持续集成测试的一部分执行,或在不支持的 Linux 发行版上执行。 对于开发人员或用户,使用包管理器会更好。

首先,从以下站点之一下载 SDK 或运行时的二进制版本。 如果安装 .NET SDK,则无需安装相应的运行时:

接下来,提取已下载的文件并使用 export 命令将 DOTNET_ROOT 设置为提取文件夹的位置,然后确保 .NET 位于 PATH 中。 这应会使 .NET CLI 命令在终端中可用。

或者,下载 .NET 二进制文件后,可以从保存文件的目录运行以下命令以提取运行时。 这也会使 .NET CLI 命令在终端可用并设置所需的环境变量。 请务必将 DOTNET_FILE 值更改为下载的二进制文件的名称:

DOTNET_FILE=dotnet-sdk-6.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

提示

前面的 export 命令只会使 .NET CLI 命令对运行它的终端会话可用。

你可以编辑 shell 配置文件,永久地添加这些命令。 Linux 提供了许多不同的 shell,每个都有不同的配置文件。 例如:

  • Bash Shell:~/.bash_profile、~/.bashrc
  • Korn Shell:~/.kshrc 或 .profile
  • Z Shell:~/.zshrc 或 .zprofile

为 shell 编辑相应的源文件,并将 :$HOME/.dotnet 添加到现有 PATH 语句的末尾。 如果不包含 PATH 语句,则使用 export PATH=$PATH:$HOME/.dotnet 添加新行。

另外,将 export DOTNET_ROOT=$HOME/.dotnet 添加至文件的末尾。

使用此方法可以将不同的版本安装到不同的位置,并明确选择应用程序要使用的对应版本。

后续步骤