openSUSE Leap 支援 .NET。 本文說明如何在 openSUSE Leap 上安裝 .NET。
如果您想要開發 .NET 應用程式,請安裝 SDK (其中包含執行階段)。 或者,如果您只需要執行應用程式,請安裝 Runtime。 如果您要安裝執行階段,建議您安裝 ASP.NET Core 執行階段,因為 .NET 和 ASP.NET Core 執行階段都包含在內。
使用 dotnet --list-sdks 和 dotnet --list-runtimes 命令來查看已安裝的版本。 如需詳細資訊,請參閱如何檢查是否已安裝 。
支援的發行版本
下表列出 openSUSE Leap 15 上目前支援的 .NET 版本。 在 .NET 版本 達到終止支援 或不再支援 openSUSE Leap 版本之前,這些版本仍會受到支援。
| openSUSE Leap | .NET |
|---|---|
| 16 | 10, 9, 8 |
| 15.6 | 10, 9, 8 |
已不再支援以下版本的 .NET❌:
- .NET 7
- .NET 6
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET 核心 2.0
安裝預覽版本
.NET 的預覽版與候選版均無法在套件存放庫中取得。 您可以使用下列其中一種方式來安裝 .NET 的預覽版與候選版:
- 使用 install-dotnet.sh 編寫安裝指令碼 (部分機器翻譯)
- 手動擷取二進位 (部分機器翻譯)
移除預覽版本
使用套件管理員來管理 .NET 的安裝時,如果您先前已安裝預覽版,可能會發生衝突。 套件管理員可能會將非預覽版理解為舊版 .NET。 若要安裝非預覽版本,請先解除安裝預覽版本。 如需解除安裝 .NET 的詳細資訊,請參閱如何移除 .NET 執行階段和 SDK。
openSUSE Leap 16
安裝 .NET 之前請執行下列命令,將 Microsoft 套件簽署金鑰新增至信任金鑰的清單,然後新增 Microsoft 套件存放庫。 開啟終端機,然後執行下列命令:
sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/16/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
重要
Microsoft 套件摘要只會發佈 .NET 10 的 x64 和 Arm64 套件。 如果您需要在其他架構上安裝 .NET,例如 Arm32,請勿搭配 Microsoft 套件摘要使用套件管理員。 如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:
安裝 SDK
.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:
sudo zypper install dotnet-sdk-10.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
安裝執行階段
ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端內,執行下列 命令:
sudo zypper install aspnetcore-runtime-10.0
ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-10.0 取代為 dotnet-runtime-10.0:
sudo zypper install dotnet-runtime-10.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
openSUSE Leap 15
安裝 .NET 之前請執行下列命令,將 Microsoft 套件簽署金鑰新增至信任金鑰的清單,然後新增 Microsoft 套件存放庫。 開啟終端機,然後執行下列命令:
sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
重要
Microsoft 套件摘要只會發佈 .NET 10 的 x64 和 Arm64 套件。 如果您需要在其他架構上安裝 .NET,例如 Arm32,請勿搭配 Microsoft 套件摘要使用套件管理員。 如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:
安裝 SDK
.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:
sudo zypper install dotnet-sdk-10.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
安裝執行階段
ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端內,執行下列 命令:
sudo zypper install aspnetcore-runtime-10.0
ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-10.0 取代為 dotnet-runtime-10.0:
sudo zypper install dotnet-runtime-10.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
如何安裝其他版本
所有 .NET 版本都可在 https://dotnet.microsoft.com/download/dotnet 下載,但需要手動安裝。 您可以嘗試使用套件管理員來安裝不同版本的 .NET。 不過,可能未提供您要求的版本。
新增至套件管理員摘要的套件會以可帶入資訊的格式命名,例如:{product}-{type}-{version}。
產品
要安裝的 .NET 產品類型。 有效的 選項如下:dotnetaspnetcore
類型
選擇 SDK 或執行階段。 有效的 選項如下:-
sdk(僅適用於 dotnet 產品) runtime
-
版本
要安裝的 SDK 或執行階段版本。 有效選項是任何已發行的版本,例如:9.08.03.12.1
您嘗試下載的 SDK/執行階段可能不適用於您的 Linux 發行版本。 如需支援的發行版本清單,請參閱在 Linux 上安裝 .NET。
範例
- 安裝 ASP.NET Core 9.0 執行時間:
aspnetcore-runtime-9.0 - 安裝 .NET Core 2.1 執行階段:
dotnet-runtime-2.1 - 安裝 .NET 5 SDK:
dotnet-sdk-5.0 - 安裝 .NET Core 3.1 SDK:
dotnet-sdk-3.1
注意
您的 Linux 發行版本上可能未提供某些套件。
缺少套件
如果套件版本組合無法運作,則無法使用。 例如,沒有 ASP.NET Core SDK。 適用於 ASP.NET Core 的 SDK 元件隨附於 .NET SDK 中。
aspnetcore-sdk-8.0 值不正確,應該是 dotnet-sdk-8.0。 如需 .NET 支援的 Linux 發行版本清單,請參閱 .NET 相依性和需求。
針對套件管理員進行疑難排解
此小節提供您在使用套件管理員安裝 .NET 時可能遇到的常見錯誤相關資訊。
找不到套件
重要
Microsoft 套件摘要會根據 .NET 版本發佈不同架構的套件:
- .NET 10:僅限 x64 和 Arm64 套件。
- .NET 9:僅限 x64 套件。
- .NET 8:僅限 x64 套件。
如果您需要在其他架構上安裝 .NET,例如 Arm32,請勿搭配 Microsoft 套件摘要使用套件管理員。 如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:
無法擷取
安裝 .NET 套件時,您可能會看到類似 signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' 的錯誤。 一般而言,此錯誤表示 .NET 的套件摘要正在以較新的套件版本進行升級,請您稍後再試一次。 在升級期間,套件摘要不應超過 2 小時無法使用。 如果您持續收到此錯誤超過 2 小時,請在 https://github.com/dotnet/core/issues 中提出問題。
相依性
當您使用套件管理員安裝時,系統會為您安裝這些程式庫。 不過,如果您手動安裝 .NET 或發佈獨立式應用程式,則必須確定已安裝這些程式庫:
- krb5
- libicu
- libopenssl3 (OpenSSL 3.x)
重要
從 .NET 8 開始,openSUSE 的 .NET 套件依賴 OpenSSL 3.x(libopenssl3)。 此變更同樣適用於 .NET 6 和 .NET 7 套件。 欲了解更多資訊,請參閱 openSUSE 與 SLES 依賴 OpenSSL 3.x 的 .NET 套件。
您可以使用 zypper install 命令來安裝相依性。 下列程式碼片段會示範如何安裝 krb5 程式庫:
sudo zypper install krb5
如需有關相依性的詳細資訊,請參閱獨立式 Linux 應用程式 (英文)。