在 RHEL 和 CentOS Stream 上安裝 .NET SDK 或 .NET 執行階段

重要

.NET 8 於 2023 年 11 月 14 日發行。 套件可能需要一些時間才能出現在套件管理員摘要中。

Red Hat Enterprise Linux (RHEL) 支援 .NET。 本文說明如何在 RHEL 和 CentOS Stream 上安裝 .NET。

如果您想要開發 .NET 應用程式,請安裝 SDK (其中包含執行階段)。 或者,如果您只需要執行應用程式,請安裝 Runtime。 如果您要安裝執行階段,建議您安裝 ASP.NET Core 執行階段,因為 .NET 和 ASP.NET Core 執行階段都包含在內。

使用 dotnet --list-sdksdotnet --list-runtimes 命令來查看已安裝的版本。 如需詳細資訊,請參閱如何檢查是否已安裝

註冊 Red Hat 訂閱

若要在 RHEL 上從 Red Hat 安裝 .NET,您必須先使用 Red Hat Subscription Manager 註冊。 如果尚未在您的系統上完成此動作,或您不確定,請參閱適用於 .NET 的 Red Hat 產品文件 (英文)。

重要

這不適用於 CentOS Stream。

支援的發行版本

下表是 RHEL 和 CentOS Stream 目前均支援的 .NET 版本清單。 這些版本會持續獲得支援,直到 .NET 版本支援終止或 Linux 發行版本不再受支援為止。

Distribution .NET
RHEL 9 (9.1) 8、7、6
RHEL 8 (8.7) 8、7、6
RHEL 7 6
CentOS Stream 9 8、7、6
CentOS Stream 8 8、7、6

以下 .NET 版本已不再 ❌ 支援:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

安裝預覽版本

.NET 的預覽版與候選版均無法在套件存放庫中取得。 您可以使用下列其中一種方式來安裝 .NET 的預覽版與候選版:

移除預覽版本

使用套件管理員來管理 .NET 的安裝時,如果您先前已安裝預覽版,可能會發生衝突。 套件管理員可能會將非預覽版理解為舊版 .NET。 若要安裝非預覽版本,請先解除安裝預覽版本。 如需解除安裝 .NET 的詳細資訊,請參閱如何移除 .NET 執行階段和 SDK (部分機器翻譯)。

RHEL 9

.NET 包含在 RHEL 9 的 AppStream 存放庫中。

重要

.NET 8 於 2023 年 11 月 14 日發行。 套件可能需要一些時間才能出現在套件管理員摘要中。

安裝 SDK

.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:

sudo dnf install dotnet-sdk-8.0

安裝執行階段

ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端內,執行下列 命令:

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-8.0 取代為 dotnet-runtime-8.0

sudo dnf install dotnet-runtime-8.0

RHEL 8

.NET 包含在 RHEL 8 的 AppStream 存放庫中。

重要

.NET 8 於 2023 年 11 月 14 日發行。 套件可能需要一些時間才能出現在套件管理員摘要中。

安裝 SDK

.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:

sudo dnf install dotnet-sdk-8.0

安裝執行階段

ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端內,執行下列 命令:

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-8.0 取代為 dotnet-runtime-8.0

sudo dnf install dotnet-runtime-8.0

RHEL 7 ❌ .NET 8

.NET 8 與 RHEL 7 不相容,無法運作。

RHEL 7 ❌ .NET 7

RHEL 7 未正式支援 .NET 7。 若要安裝 .NET 7,請參閱使用安裝指令碼或擷取二進位檔,在 Linux 上安裝 .NET (部分機器翻譯)。

RHEL 7 ✔️ .NET 6

下列命令會安裝 scl-utils 套件:

sudo yum install scl-utils

安裝 SDK

.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60 -y
scl enable rh-dotnet60 bash

Red Hat 不建議永久啟用 rh-dotnet60,因為這可能會影響其他程式。 如果您想要永久啟用 rh-dotnet,請將下列這行新增至 ~/.bashrc 檔案。

source scl_source enable rh-dotnet60

安裝執行階段

若用於製作應用程式的 .NET 未包含執行階段,您可以使用 .NET 執行階段加以執行。 下方命令會安裝 ASP.NET Core 執行階段,這是對於 .NET Core 最相容的執行階段。 在終端中,執行下列命令。

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60-aspnetcore-runtime-6.0 -y
scl enable rh-dotnet60 bash

Red Hat 不建議永久啟用 rh-dotnet60,因為這可能會影響其他程式。 如果您想要永久啟用 rh-dotnet60,請將下列這行新增至 ~/.bashrc 檔案。

source scl_source enable rh-dotnet60

ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 rh-dotnet60-aspnetcore-runtime-6.0 取代為 rh-dotnet60-dotnet-runtime-6.0

CentOS Stream 9 ✔️

.NET 包含在 CentOS Stream 9 的 AppStream 存放庫中。

安裝 SDK

.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:

sudo dnf install dotnet-sdk-8.0

安裝執行階段

ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端內,執行下列 命令:

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-8.0 取代為 dotnet-runtime-8.0

sudo dnf install dotnet-runtime-8.0

CentOS Stream 8 ✔️

使用 Microsoft 存放庫安裝 .NET:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-8.0

相依性

當您使用套件管理員安裝時,系統會為您安裝這些程式庫。 不過,如果您手動安裝 .NET 或發佈獨立式應用程式,則必須確定已安裝這些程式庫:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

如果目標執行階段環境的 OpenSSL 版本為 1.1 或者是更新版本,您必須安裝 compat-openssl10

您可以使用 yum install 命令來安裝相依性。 下列程式碼片段會示範如何安裝 libicu 程式庫:

sudo yum install libicu

如需有關相依性的詳細資訊,請參閱獨立式 Linux 應用程式 (英文)。

如果 .NET 應用程式使用 System.Drawing.Common 組件,則也需安裝 libgdiplus。 因為 Linux 上不再支援 System.Drawing.Common,所以這只適用於 .NET 6,而且需要設定 System.Drawing.EnableUnixSupport 執行階段組態參數。

您可以將 Mono 存放庫新增至您的系統 (英文),以安裝最新版的 libgdiplus

如何安裝其他版本

如需安裝其他版本 .NET 所需的步驟,請參閱適用於 .NET 的 Red Hat 文件 (英文)。

針對套件管理員進行疑難排解

本節提供使用套件管理員安裝 .NET 或 .NET Core 時可能發生的常見錯誤相關資訊。

如需解決這些問題的詳細資訊,請參閱針對 fxrlibhostfxr.soFrameworkList.xml 錯誤進行疑難排解

下一步