本文說明如何在 Debian 上安裝 .NET。 當 Debian 版本停止支援時,該版本將不再支援 .NET。 不過,這些說明或許能幫助你在這些版本上運行 .NET,雖然它不支援。
如果你想開發 .NET 應用程式,請安裝包含執行環境的 SDK。 或者,如果您只需要執行應用程式,請安裝 Runtime。 如果你正在安裝執行環境,我們建議你安裝 ASP.NET Core Runtime,因為它包含了 .NET 和 ASP.NET Core 的執行環境。
使用 dotnet --list-sdks 和 dotnet --list-runtimes 命令來查看已安裝的版本。 更多資訊請參閱 如何檢查.NET已安裝。
支援的發行版本
下表列出目前支援的 .NET 版本及其所支援的 Debian 版本。 這些版本會持續支援,直到 .NET 版本終止支援 或 Debian 版本終止支援。
| Debian | .NET |
|---|---|
| 13 | 10, 9, 8 |
| 12 | 10, 9, 8 |
以下版本的 .NET 已不再支援 ❌:
- .NET 7
- .NET 6
- .NET 5
- .NET 核心 3.1
- .NET 核心 3.0
- .NET 核心 2.2
- .NET 核心 2.1
- .NET 核心 2.0
安裝預覽版本
.NET 的預覽版與候選版本無法在套件庫中取得。 您可以透過以下方式之一安裝 .NET 的預覽版與候選版本:
移除預覽版本
當你使用套件管理器管理 .NET 的安裝時,如果你之前安裝過預覽版,可能會遇到衝突。 套件管理器可能會將非預覽版本解讀為早期版本的 .NET。 若要安裝非預覽版本,請先解除安裝預覽版本。 欲了解更多關於卸載.NET的資訊,請參閱 如何移除 .NET 執行時與 SDK。
Debian 13 版
安裝 APT 可以通過幾個命令來完成。 在安裝 .NET 之前,請執行以下指令,將 Microsoft 套件的簽章金鑰加入你的信任金鑰清單,並新增套件儲存庫。
開啟終端機,然後執行下列命令:
wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
重要
Microsoft 套件發佈源 只發布適用於 .NET 10 的 x64 和 Arm64 套件。 如果你需要在其他架構上安裝 .NET,例如 Arm32,請不要在 Microsoft 套件 feed 中使用套件管理器。 欲了解更多關於安裝 .NET 無套件管理器的資訊,請參閱以下文章之一:
安裝 SDK
.NET SDK 允許你用 .NET 開發應用程式。 如果你安裝了 .NET SDK,就不需要安裝對應的執行環境。 要安裝 .NET SDK,請執行以下指令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
安裝執行階段
ASP.NET Core 執行時允許你執行那些用 .NET 製作但沒有提供執行環境的應用程式。 以下指令可安裝 ASP.NET Core 執行環境,這是 .NET 最相容的執行環境。 在終端機中執行下列命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作為 ASP.NET Core 執行環境的替代方案,你可以安裝不包含 ASP.NET Core 支援的 .NET 執行環境:將前一個指令中的 aspnetcore-runtime-10.0 替換為 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
Debian 12 版
安裝 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
重要
Microsoft 套件發佈源 只發布適用於 .NET 10 的 x64 和 Arm64 套件。 如果你需要在其他架構上安裝 .NET,例如 Arm32,請不要在 Microsoft 套件 feed 中使用套件管理器。 欲了解更多關於安裝 .NET 無套件管理器的資訊,請參閱以下文章之一:
安裝 SDK
.NET SDK 允許你用 .NET 開發應用程式。 如果你安裝了 .NET SDK,就不需要安裝對應的執行環境。 要安裝 .NET SDK,請執行以下指令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
安裝執行階段
ASP.NET Core 執行時允許你執行那些用 .NET 製作但沒有提供執行環境的應用程式。 以下指令可安裝 ASP.NET Core 執行環境,這是 .NET 最相容的執行環境。 在終端機中執行下列命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作為 ASP.NET Core 執行環境的替代方案,你可以安裝不包含 ASP.NET Core 支援的 .NET 執行環境:將前一個指令中的 aspnetcore-runtime-10.0 替換為 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
使用 APT 來更新 .NET
當 .NET 有新修補程式釋出時,你可以透過 APT 使用以下指令升級:
sudo apt-get update
sudo apt-get upgrade
如果你安裝 .NET 後升級了 Linux 發行版,可能需要重新設定 Microsoft 套件倉庫。 執行你目前發行版本的安裝說明,升級到適合 .NET 更新的套件儲存庫。
疑難排解
本節提供使用 APT 安裝 .NET 時常見錯誤的資訊。
找不到套件
重要
Microsoft 套件來源根據 .NET 版本發布適用於不同架構的套件:
.NET 10 :僅限x64 及Arm64 套件。 - .NET 9:僅限x64套件。
- .NET 8:僅限 x64 套件。
如果你需要在其他架構上安裝 .NET,例如 Arm32,請不要在 Microsoft 套件 feed 中使用套件管理器。 欲了解更多關於安裝 .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 或發佈自成一體的應用程式,就必須確保這些函式庫已安裝:
13.x 版本
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
12.x
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
其他備註
您可以使用 apt install 命令來安裝相依性。 下列程式碼片段會示範如何安裝 libc6 程式庫:
sudo apt install libc6
下一步
- .NET CLI 概覽
- 如何啟用 .NET CLI 的 TAB 補全
教學:用 .NET