事件
在 Debian 上安裝 .NET SDK 或 .NET 執行階段
本文描述如何在 Debian 上安裝 .NET。 當某個 Debian 版本不受支援時,該版本便不再支援 .NET。 不過,這些指示可協助您讓 .NET 在不受支援的情況下,也能在這些版本上執行。
如果您想要開發 .NET 應用程式,請安裝 SDK (其中包含執行階段)。 或者,如果您只需要執行應用程式,請安裝 Runtime。 如果您要安裝執行階段,建議您安裝 ASP.NET Core 執行階段,因為 .NET 和 ASP.NET Core 執行階段都包含在內。
使用 dotnet --list-sdks
和 dotnet --list-runtimes
命令來查看已安裝的版本。 如需詳細資訊,請參閱如何檢查是否已安裝 。
重要
使用套件管理員從 Microsoft 套件摘要安裝 .NET,僅支援 x64 結構。 Microsoft 套件摘要不支援其他結構,例如 Arm。
如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:
下表列出目前支援的 .NET 版本及予以支援的 Debian 版本。 這些版本會繼續受到支援,直到 .NET 版本支援終止,或 Debian 版本生命週期結束為止。
Debian | .NET |
---|---|
12 | 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 Core 2.0
.NET 的預覽版與候選版均無法在套件存放庫中取得。 您可以使用下列其中一種方式來安裝 .NET 的預覽版與候選版:
- 使用 install-dotnet.sh 編寫安裝指令碼 (部分機器翻譯)
- 手動擷取二進位 (部分機器翻譯)
使用套件管理員來管理 .NET 的安裝時,如果您先前已安裝預覽版,可能會發生衝突。 套件管理員可能會將非預覽版理解為舊版 .NET。 若要安裝非預覽版本,請先解除安裝預覽版本。 如需解除安裝 .NET 的詳細資訊,請參閱如何移除 .NET 執行階段和 SDK (部分機器翻譯)。
您可以使用幾個命令來使用 APT 完成安裝。 請在安裝 .NET 之前,執行下列命令,以將 Microsoft 套件簽署金鑰新增至信任的金鑰清單,然後新增套件存放庫。
開啟終端機,然後執行下列命令:
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
.NET SDK 可讓您使用 .NET 開發應用程式。 如果您安裝 .NET SDK,則不需要安裝對應的執行階段。 若要安裝 .NET SDK,請執行下列命令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-9.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
ASP.NET Core 執行階段可讓您執行使用未提供執行階段之 .NET 建立的應用程式。 下列命令會安裝 ASP.NET Core 執行階段,這是與 .NET 相容性最高的執行階段。 在終端機中執行下列命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-9.0
ASP.NET Core 執行階段的替代方案是安裝 .NET 執行階段,後者不包含 ASP.NET Core 支援:將先前命令中的 aspnetcore-runtime-9.0
取代為 dotnet-runtime-9.0
:
sudo apt-get install -y dotnet-runtime-9.0
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
當新的修補檔版本可供 .NET 使用時,只要使用下列命令透過 APT 升級即可:
sudo apt-get update
sudo apt-get upgrade
如果您已在安裝 .NET 之後升級 Linux 發行版本,可能需要重新設定 Microsoft 套件存放庫。 執行您目前發行版本的安裝指示,以升級至 .NET 更新適用的套件存放庫。
本節提供您在使用 APT 安裝 .NET 時可能遇到的常見錯誤相關資訊。
重要
使用套件管理員從 Microsoft 套件摘要安裝 .NET,僅支援 x64 結構。 Microsoft 套件摘要不支援其他結構,例如 Arm。
如需在沒有套件管理員的情況下安裝 .NET 的詳細資訊,請參閱下列其中一篇文章:
- 使用
install-dotnet
指令碼來安裝 .NET。 - 手動安裝 .NET。 (部分機器翻譯)
如果您收到類似找不到套件 {dotnet-package} 或某些套件無法安裝的錯誤訊息,請執行下列命令。
下列這組命令中有兩個預留位置。
{dotnet-package}
這代表您要安裝的 .NET 套件,例如aspnetcore-runtime-8.0
。 這會在下列sudo apt-get install
命令中使用。
首先,嘗試清除套件清單:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
接著,嘗試再次安裝 .NET。 如果無法運作,您可以使用下列命令來執行手動安裝:
如果您使用 Debian 12 或更新版本,請嘗試下列命令:
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
如果您使用 12 之前的 Debian 版本,請嘗試下列命令:
# Define the OS version, name, and codename
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
安裝 .NET 套件時,您可能會看到類似 Failed to fetch ... File has unexpected size ... Mirror sync in progress?
的錯誤。 此錯誤可能表示 .NET 的套件摘要正在以較新的套件版本進行升級,而您應該稍後再試一次。 在升級期間,套件摘要不應超過 30 分鐘無法使用。 如果您持續收到此錯誤超過 30 分鐘,請在 https://github.com/dotnet/core/issues 中提出問題。
當您使用套件管理員安裝時,系統會為您安裝這些程式庫。 不過,如果您手動安裝 .NET 或發佈獨立式應用程式,則必須確定已安裝這些程式庫:
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu67
- libssl1.1
- libstdc++6
- zlib1g
- libc6
- libgcc1
- libgssapi-krb5-2
- libicu63
- libssl1.1
- libstdc++6
- zlib1g
您可以使用 apt install
命令來安裝相依性。 下列程式碼片段會示範如何安裝 libc6
程式庫:
sudo apt install libc6
如果 .NET 應用程式使用 System.Drawing.Common 元件, 則必須安裝 libgdiplus 。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common。
您可以將 Mono 存放庫新增至您的系統 (英文),以安裝最新版的 libgdiplus。
其他資源
訓練
模組
建立新的 .NET 專案並使用套件相依性 - Training
建立 .NET 專案,並了解如何在專案中新增套件及管理套件相依性。 使用 .NET Core CLI 與 NuGet 登錄,透過 Visual Studio Code 將程式庫與工具新增至您的 C# 應用程式。
文件
-
以不使用套件管理員的方式在 Linux 上安裝 .NET - .NET
示範如何以不使用套件管理員的方式在 Linux 上安裝 .NET SDK 和 .NET 執行階段。 使用安裝指令碼或手動擷取二進位檔案。
-
了解您可以從內建套件摘要、.NET backports 存放庫或 Microsoft 存放庫,在 Ubuntu 上安裝 .NET 的方式。
-
使用 Snap 在 Linux 上安裝 .NET SDK - .NET
了解如何安裝 .NET SDK Snap 套件。 Canonical 維護並支援 .NET 相關的 Snap 套件。