在 Ubuntu 上安裝 .NET SDK 或 .NET 執行階段

本文討論如何在 Ubuntu 上安裝 .NET。

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

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

重要

使用套件管理員從 Microsoft 套件摘要安裝 .NET,僅支援 x64 結構。 Microsoft 套件摘要不支援其他結構,例如 Arm。 使用 Ubuntu 供應源 (feed) 或手動安裝 .NET。 使用多個供應源時要小心套件混淆問題。 如需詳細資訊,請參閱 Linux 上的 .NET 套件混合

如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:

Ubuntu 24.04

.NET 可在 Ubuntu 套件管理員摘要以及 Microsoft 套件存放庫中取得。 不過,您應該只使用其中之一來安裝 .NET。 如果您想要使用 Microsoft 套件存放庫,請參閱如何註冊 Microsoft 套件存放庫

Ubuntu 24.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

backports
Ubuntu 摘要中提供

Microsoft 摘要中提供
8.0、6.0 8.0 7.0、6.0

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

安裝 SDK

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

安裝執行階段

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

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

sudo apt-get install -y dotnet-runtime-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libicu74
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 23.10

.NET 可在 Ubuntu 套件管理員摘要以及 Microsoft 套件存放庫中取得。 不過,您應該只使用其中之一來安裝 .NET。 如果您想要使用 Microsoft 套件存放庫,請參閱如何註冊 Microsoft 套件存放庫

Ubuntu 23.10 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 摘要中提供
8.0、6.0 8.0、7.0、6.0 8.0、7.0、6.0

重要

Canonical 提供的 .NET SDK 版本一律位於 .1xx 功能區。 如果您想要使用較新的功能區版本,請使用 Microsoft 摘要來安裝 SDK。 請務必檢閱 .NET 套件在 Linux 上混合一文中的資訊,以了解在存放庫摘要之間切換的影響。

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

安裝 SDK

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

安裝執行階段

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

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

sudo apt-get install -y dotnet-runtime-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 22.04

.NET 可在 Ubuntu 套件管理員摘要以及 Microsoft 套件存放庫中取得。 不過,您應該只使用其中之一來安裝 .NET。 如果您想要使用 Microsoft 套件存放庫,請參閱如何註冊 Microsoft 套件存放庫

Ubuntu 22.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 摘要中提供
8.0、6.0 8.0、7.0、6.0 8.0、7.0、6.0、3.1

重要

Canonical 提供的 .NET SDK 版本一律位於 .1xx 功能區。 如果您想要使用較新的功能區版本,請使用 Microsoft 摘要來安裝 SDK。 請務必檢閱 .NET 套件在 Linux 上混合一文中的資訊,以了解在存放庫摘要之間切換的影響。

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

安裝 SDK

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

安裝執行階段

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

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

sudo apt-get install -y dotnet-runtime-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu70
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 20.04

預設的 Ubuntu 套件存放庫不包含這個版本的 .NET。 請改用 Microsoft 套件存放庫

Ubuntu 20.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 摘要中提供
8.0、6.0 8.0、7.0。 6.0、5.0、3.1、2.1

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

新增 Microsoft 套件存放庫

您可以使用幾個命令來使用 APT 完成安裝。 請在安裝 .NET 之前,執行下列命令,以將 Microsoft 套件簽署金鑰新增至信任的金鑰清單,然後新增套件存放庫。

開啟終端機,然後執行下列命令:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

安裝 SDK

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

安裝執行階段

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

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

sudo apt-get install -y dotnet-runtime-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu66
  • libssl1.1
  • libstdc++6
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 18.04

預設的 Ubuntu 套件存放庫不包含這個版本的 .NET。 請改用 Microsoft 套件存放庫

Ubuntu 18.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 供應源
6.0 7.0。 6.0、5.0、3.1、2.2、2.1

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

新增 Microsoft 套件存放庫

您可以使用幾個命令來使用 APT 完成安裝。 請在安裝 .NET 之前,執行下列命令,以將 Microsoft 套件簽署金鑰新增至信任的金鑰清單,然後新增套件存放庫。

開啟終端機,然後執行下列命令:

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Ubuntu 18.04 不支援 .NET 8。

相依性

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

  • ca-certificates
  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu60
  • libssl1.1
  • libstdc++6
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 16.04

預設的 Ubuntu 套件存放庫不包含這個版本的 .NET。 請改用 Microsoft 套件存放庫

Ubuntu 16.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 供應源
6.0 6.0、5.0、3.1、3.0、2.2、2.1、2.0

當某個 Ubuntu 版本變成不支援時,該版本就不再支援 .NET。

新增 Microsoft 套件存放庫

您可以使用幾個命令來使用 APT 完成安裝。 請在安裝 .NET 之前,執行下列命令,以將 Microsoft 套件簽署金鑰新增至信任的金鑰清單,然後新增套件存放庫。

開啟終端機,然後執行下列命令:

wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Ubuntu 16.04 不支援 .NET 8。

相依性

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

  • ca-certificates
  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu55
  • libssl1.0.0
  • libstdc++6
  • zlib1g

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

sudo apt install zlib1g

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

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

不支援的版本

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

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

如何安裝其他版本

.NET 套件名稱會跨所有 Linux 發行版本標準化。 下表列出套件:

所有 .NET 版本都可在 https://dotnet.microsoft.com/download/dotnet 下載,但需要手動安裝。 您可以嘗試使用套件管理員來安裝不同版本的 .NET。 不過,可能未提供您要求的版本。

新增至套件管理員摘要的套件會以可帶入資訊的格式命名,例如:{product}-{type}-{version}

  • product
    要安裝的 .NET 產品類型。 有效的 選項如下:

    • dotnet
    • aspnetcore
  • type
    選擇 SDK 或執行階段。 有效的 選項如下:

    • sdk (僅適用於 dotnet 產品)
    • runtime
  • version
    要安裝的 SDK 或執行階段版本。 有效選項是任何已發行的版本,例如:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    您嘗試下載的 SDK/執行階段可能不適用於您的 Linux 發行版本。 如需支援的發行版本清單,請參閱在 Linux 上安裝 .NET

範例

  • 安裝 ASP.NET Core 8.0 執行階段:aspnetcore-runtime-8.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 相依性和需求

手動安裝

如果您的 Ubuntu 版本不受支援,您很可能需要使用安裝指令碼手動擷取二進位檔案來安裝 .NET。 如需詳細資訊,請參閱在 Linux 上安裝 .NET 而不使用套件管理員

Ubuntu 23.04

警告

不再支援這個版本的 Ubuntu。

不再支援在此版本的 Ubuntu 上執行 .NET。

.NET 可在 Ubuntu 套件管理員摘要以及 Microsoft 套件存放庫中取得。 不過,您應該只使用其中之一來安裝 .NET。 如果您想要使用 Microsoft 套件存放庫,請參閱如何註冊 Microsoft 套件存放庫

Ubuntu 23.04 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 摘要中提供
8.0、6.0 7.0、6.0 8.0、7.0、6.0

重要

Canonical 提供的 .NET SDK 版本一律位於 .1xx 功能區。 如果您想要使用較新的功能區版本,請使用 Microsoft 摘要來安裝 SDK。 請務必檢閱 .NET 套件在 Linux 上混合一文中的資訊,以了解在存放庫摘要之間切換的影響。

Ubuntu 套件存放庫中沒有 .NET 8.0。 註冊 Microsoft 套件存放庫,並使用該供應源來透過 APT 安裝 .NET。 如果您使用 Microsoft 套件存放庫來安裝 .NET,則應取消 Ubuntu 存放庫中的 .NET 套件的優先權。 如需詳細資訊,請參閱我需要我的 Linux 發行版本未提供的 .NET 版本

安裝 SDK

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

安裝執行階段

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

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

sudo apt-get install -y dotnet-runtime-8.0

若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

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

sudo apt install zlib1g

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

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

Ubuntu 22.10

警告

不再支援這個版本的 Ubuntu。

不再支援在此版本的 Ubuntu 上執行 .NET。

.NET 可在 Ubuntu 套件管理員摘要以及 Microsoft 套件存放庫中取得。 不過,您應該只使用其中之一來安裝 .NET。 如果您想要使用 Microsoft 套件存放庫,請參閱如何註冊 Microsoft 套件存放庫

Ubuntu 22.10 支援或提供下列版本的 .NET:

支援的 .NET 版本 Available in
內建的 Ubuntu 摘要

.NET backports
Ubuntu 摘要中提供

Microsoft 供應源
6.0 7.0、6.0 7.0、6.0、3.1

重要

Canonical 提供的 .NET SDK 版本一律位於 .1xx 功能區。 如果您想要使用較新的功能區版本,請使用 Microsoft 摘要來安裝 SDK。 請務必檢閱 .NET 套件在 Linux 上混合一文中的資訊,以了解在存放庫摘要之間切換的影響。

Ubuntu 22.10 不支援 .NET 8。

相依性

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

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu71
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

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

sudo apt install zlib1g

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

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

下一步