在 Windows 上安裝 .NET

您將從本文了解如何在 Windows 上安裝 .NET。 .NET 是由執行階段和 SDK 所組成。 執行階段會用於執行 .NET 應用程式,且可能會隨附於應用程式。 SDK 會用於建立 .NET 應用程式和程式庫。 .NET 執行階段一律會隨 SDK 一起安裝。

最新版本的 .NET 為 8.0。

有兩種類型的支援版本:長期支援 (LTS) 版本和標準期間支援 (STS) 版本。 所有版本的品質都一樣。 唯一的差異是支援的時間長度。 LTS 版本提供 3 年的免費支援和修補程式。 STS 版本可獲得 18 個月的免費支援和修補檔。 如需詳細資訊,請參閱 .NET 支援原則 (英文)。

下表列出每個版本 .NET (和 .NET Core) 的支援狀態:

✔️ 支援 ❌ 不支援
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.1
2.0
1.1
1.0

隨 Windows 封裝管理員安裝 (winget)

您可以使用 winget 工具,透過 Windows 封裝管理員服務,來安裝及管理 .NET。 如需如何安裝和使用 winget 的詳細資訊,請參閱使用 winget 工具

若要為全系統安裝 .NET,請使用系統管理權限執行安裝。

安裝 SDK

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

winget install Microsoft.DotNet.SDK.8

安裝執行階段

有三個不同的 .NET 執行階段可供安裝,不過,您應該同時安裝 .NET Desktop Runtime 和 ASP.NET Core Runtime,以獲得與所有類型的 .NET 應用程式的最大相容性。 下表描述每個執行階段隨附的項目:

包含 .NET Runtime 包含 .NET Desktop Runtime 包含 ASP.NET Core Runtime
.NET 執行階段 No
.NET Desktop Runtime Yes .是 No
ASP.NET Core Runtime No Yes

下列清單提供有關每個執行階段的詳細資料,以及用來安裝它們的 winget 命令:

  • .NET Desktop Runtime

    此執行階段支援使用 .NET 建置的 Windows Presentation Foundation (WPF) 和 Windows Forms 應用程式。 這與 Windows 隨附的 .NET Framework 不同。 此執行階段包含 .NET Runtime,但未包含 ASP.NET Core Runtime,必須個別安裝。

    winget install Microsoft.DotNet.DesktopRuntime.8
    
  • .NET 執行階段

    這是基底執行階段,只包含執行主控台應用程式所需的元件。 一般而言,您會同時安裝 .NET Desktop Runtime 和 ASP.NET Core Runtime,而不是此項目。

    winget install Microsoft.DotNet.Runtime.8
    
  • ASP.NET Core Runtime

    此執行階段會執行 Web 伺服器應用程式,並提供許多 Web 相關 API。 ASP.NET Core Runtime 可讓您執行使用未提供執行階段的 .NET 建立的應用程式。 除了此執行階段之外,您還必須安裝 .NET Runtime。 下列命令會安裝 ASP.NET Core Runtime;請在您的終端機中執行下列命令:

    winget install Microsoft.DotNet.AspNetCore.8
    

您可以置換版本號碼來安裝預覽版的執行階段,例如 6 加上 Preview。 下列範例會安裝預覽版的 .NET Desktop Runtime:

winget install Microsoft.DotNet.DesktopRuntime.Preview

隨 Visual Studio Code 一起安裝

Visual Studio Code 是一個功能強大的輕量型原始程式碼編輯器,其會在您的桌面上執行。 Visual Studio Code 適用於 Windows、macOS 和 Linux。

雖然 Visual Studio Code 不像 Visual Studio 一樣隨附自動執行的 .NET Core 安裝程式,但新增 .NET Core 支援也一樣很簡單。

  1. 下載並安裝 Visual Studio Code
  2. 下載並安裝 .NET SDK
  3. 從 Visual Studio Code Marketplace 安裝 C# 延伸模組 \(英文\)。

C# For Visual Studio Code 延伸模組包含最新的 .NET SDK,因此您不需要個別安裝任何 .NET 執行階段。

使用 Windows Installer 安裝

有三個不同的 .NET 執行階段可供安裝,不過,您應該同時安裝 .NET Desktop Runtime 和 ASP.NET Core Runtime,以獲得與所有類型的 .NET 應用程式的最大相容性。 下表描述每個執行階段隨附的項目:

包含 .NET Runtime 包含 .NET Desktop Runtime 包含 ASP.NET Core Runtime
.NET 執行階段 No
.NET Desktop Runtime Yes .是 No
ASP.NET Core Runtime No Yes

.NET SDK 可讓您建立 .NET 應用程式,並包含所有執行階段。

.NET 的下載頁面提供 Windows Installer 可執行檔。

若要以無訊息方式安裝 .NET (例如在實際執行環境中或支援持續整合),請使用下列參數:

  • /install
    安裝 .NET。

  • /quiet
    禁止顯示任何 UI 和提示。

  • /norestart
    Suppresses any attempts to restart.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

如需詳細資訊,請參閱標準安裝程式命令列選項

提示

安裝程式傳回結束代碼 0,表示成功;傳回結束代碼 3010,表示需要重新啟動。 除此之外的其他值通常為錯誤碼。

使用 PowerShell 自動安裝

CI 自動化和非系統管理員安裝執行階段可使用 dotnet-install 指令碼。 您可以從 dotnet-install 指令碼參考頁面下載指令碼。

根據預設,此指令碼會安裝最新的長期支援 (LTS) 版本 (亦即 .NET 8)。 您可以透過指定 Channel 參數來選擇特定版本。 包含 Runtime 參數以安裝執行階段。 否則,指令碼會安裝 SDK。

下列命令會同時安裝 Desktop 和 ASP.NET Core Runtime,以獲得最大相容性。

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop
dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore

省略 -Runtime 參數會安裝 SDK。 此範例中的 -Channel 參數設定為 STS,表示會安裝最新的標準期間支援版本,即 .NET 7。

dotnet-install.ps1 -Channel STS

隨 Visual Studio 安裝

如果您使用 Visual Studio 開發 .NET 應用程式,下表會依據目標 .NET SDK 版本,列出所需 Visual Studio 的最低版本。

.NET SDK 版本 Visual Studio 版本
8 Visual Studio 2022 17.8 版或更高版本。
7 Visual Studio 2022 17.4 版或更高版本。
6 Visual Studio 2022 17.0 版或更高版本。
5 Visual Studio 2019 16.8 版或更高版本。
3.1 Visual Studio 2019 16.4 版或更高版本。
3.0 Visual Studio 2019 16.3 版或更高版本。
2.2 Visual Studio 2017 15.9 版或更高版本。
2.1 Visual Studio 2017 15.7 版或更高版本。

若您已安裝 Visual Studio,可以使用下列步驟檢查您的版本。

  1. 開啟 Visual Studio。
  2. 選取 [說明]> [關於 Microsoft Visual Studio]
  3. 從 [關於] 對話方塊中找出版本號碼。

Visual Studio 可以安裝最新的 .NET SDK 和執行階段。

如需詳細資訊,請參閱 .NET SDK、MSBuild 和 Visual Studio 版本控制

選取工作負載

在安裝或修改 Visual Studio 時,請依據您要建置的應用程式類型,選取下列一或多個工作負載:

  • [其他工具組] 區段中的 .NET Core 跨平台開發工作負載。
  • [Web 和雲端] 區段中的 ASP.NET 和 Web 開發工作負載。
  • [Web 和雲端] 區段中的 Azure 開發工作負載。
  • [桌面和行動裝置] 區段中的 .NET 桌面開發工作負載。

Windows Visual Studio 2019 with .NET Core workload

支援的版本

下表列出目前支援的 .NET 版本,以及其支援的 Windows 版本。 這些版本會保持支援到 .NET 的版本達到終止支援Windows 的版本達到生命週期結束為止。

Windows 10 版本的服務終止日期依版本而不同。 下表僅列出家用版專業版專業教育版工作站專業版。 如需特定詳細資料,請參閱 Windows 生命週期記事表

提示

+ 符號代表最低版本。

作業系統 .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server 版本 1903 或更新版本 ✔️ ✔️ ✔️
Windows 10 版本 1607 或更新版本 ✔️ ✔️ ✔️
Windows 8.1 ✔️
Windows 7 SP1 ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️ ✔️
Nano Server 1809+ 版 ✔️ ✔️ ✔️
Nano Server 1803 版

如需支援 .NET 8 的作業系統、發行版本及生命週期原則的詳細資訊,請參閱支援 .NET 8 的 OS 版本 (英文)。

不支援的版本

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

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

驗證下載的二進位檔

下載安裝程序之後,請加以驗證以確認檔案尚未變更或沒有損毀。 您可以驗證電腦上的總和檢查碼,然後將它與下載網站上所報告的內容進行比較。

當您從官方下載頁面下載安裝程式或二進位檔時,會顯示該檔案的總和檢查碼。 選取 [複製] 按鈕,將總和檢查碼值複製到剪貼簿。

The .NET download page with checksum

您可以使用 PowerShell命令提示字元來驗證您所下載檔案的總和檢查碼。 例如,下列命令會回報 dotnet-sdk-8.0.100-win-x64.exe 檔案的總和檢查碼:

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e

將該總和檢查碼與下載網站所提供的值進行比較。

使用 PowerShell 和總和檢查碼檔案來驗證

.NET 版本資訊包含可用來驗證您下載檔案之總和檢查碼檔案的連結。 下列步驟描述如何下載總和檢查碼檔案,並驗證 .NET 安裝二進位檔:

  1. 位於 https://github.com/dotnet/core/tree/main/release-notes/8.0 的 GitHub 上的 .NET 8 版本資訊頁面包含名為版本的章節。 該章節中的資料表可連結至每個 .NET 8 版本的下載和總和檢查碼檔案:

    The github release notes version table for .NET

  2. 選取您下載的 .NET 版本的連結。 上一節使用了 .NET SDK 8.0.100,其位於 .NET 8.0.0 版本中。

    提示

    如果您不確定哪個 .NET 版本包含總和檢查碼檔案,請瀏覽連結,直到找到它為止。

  3. 在發行頁面中,您可以看到 .NET Runtime 和 .NET SDK 版本,以及前往總和檢查碼檔案的連結:

    The download table with checksums for .NET

  4. 複製前往總和檢查碼檔案的連結。

  5. 使用下列指令碼,但取代連結以下載適當的總和檢查碼檔案:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. 將總和檢查碼檔案和 .NET 版本檔案下載到相同的目錄時,搜尋總和檢查碼檔案以取得 .NET 下載的總和檢查碼:

    驗證通過時,您會看到 True 印出:

    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*"
    True
    

    如果您看到 False 印出,則您下載的檔案無效,且不應該使用。

執行階段資訊

執行階段可用來執行使用 .NET 建立的應用程式。 當應用程式作者發佈應用程式時,他們可以將執行階段包含在其應用程式中。 如果他們未包含執行階段,則會由使用者安裝執行階段。

有三個不同的 .NET 執行階段可供安裝,不過,您應該同時安裝 .NET Desktop Runtime 和 ASP.NET Core Runtime,以獲得與所有類型的 .NET 應用程式的最大相容性。 下表描述每個執行階段隨附的項目:

包含 .NET Runtime 包含 .NET Desktop Runtime 包含 ASP.NET Core Runtime
.NET 執行階段 No
.NET Desktop Runtime Yes .是 No
ASP.NET Core Runtime No Yes

下列清單提供有關每個執行階段的詳細資料:

  • Desktop Runtime
    執行適用於 Windows 的 .NET WPF 和 Windows Forms 桌面應用程式。 包含 .NET 執行階段。

  • ASP.NET Core Runtime
    執行 ASP.NET Core 應用程式。

  • .NET 執行階段
    此執行階段是最簡單的執行階段,不包含任何其他執行階段。 安裝 ASP.NET Core RuntimeDesktop Runtime,以獲得與 .NET 應用程式的最佳相容性。

SDK 資訊

SDK 可用於建置及發佈 .NET 應用程式和程式庫。 安裝 SDK 會包含全部三個執行階段:ASP.NET Core、Desktop 和 .NET。

Arm 架構的 Windows 電腦

下列各節說明在 Arm 架構的 Windows 電腦上安裝 .NET 時的注意事項。

支援項目

下表描述 Arm 架構的 Windows 電腦支援的 .NET 版本:

.NET 版本 架構 SDK 執行階段 路徑衝突
8 Arm64 .是 No
8 x64 .是
7 Arm64 .是
7 x64 .是
6 Arm64 .是
6 x64 .是 No
5 Arm64 .是
5 x64 No .是

x64 和 Arm64 版本的 .NET SDK 可彼此獨立存在。 當有新版本發行時,每個架構安裝也必須隨之升級。

路徑差異

在 Arm 架構的 Windows 電腦上,所有 Arm64 版本的 .NET 都會安裝到標準的 C:\Program Files\dotnet\ 資料夾。 不過,x64 版本的 .NET SDK 會安裝到 C:\Program Files\dotnet\x64\ 資料夾。

路徑衝突

如上一節所述,x64 .NET SDK 會安裝到自己的目錄。 如此一來,Arm64 和 x64 版本的 .NET SDK 就能並存於同一部電腦上。 但所有 6 之前的 x64 SDK 皆不予支援,並會安裝到 Arm64 版本的相同位置 C:\Program Files\dotnet\ 資料夾。 若要安裝不受支援的 x64 SDK,您必須先解除安裝 Arm64 版本。 反之亦然,您必須先解除安裝不受支援的 x64 SDK,才能安裝 Arm64 版本。

路徑變數

如果您已同時安裝 x64 和 Arm64 版本的 .NET SDK,則可能需要變更會將 .NET 新增至系統路徑的環境變數 (例如 PATH 變數)。 此外,某些工具依賴 DOTNET_ROOT 環境變數,它們也需要更新才能指向適當的 .NET SDK 安裝資料夾。

相依性

.NET 8 支援下列 Windows 版本:

注意

+ 符號代表最低版本。

OS 版本 架構
Windows 11 22000+ x64、x86、Arm64
Windows 10 用戶端 1607+ x64、x86、Arm64
Windows Server 2012+ x64、x86
Windows 伺服器核心 2012+ x64、x86
Nano Server 1809+ x64

如需支援 .NET 8 的作業系統、發行版本及生命週期原則的詳細資訊,請參閱支援 .NET 8 的 OS 版本 (英文)。

Windows 7/8.1/Server 2012

若要在下列 Windows 版本上安裝 .NET SDK 或執行階段,需要更多的相依性:

作業系統 必要條件
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 可轉散發套件 64 位元 / 32 位元
- KB3063858 64 位元 / 32 位元
- Microsoft 根憑證授權單位 2011 (僅限 .NET Core 2.1 離線安裝程式)
Windows 8.1 Microsoft Visual C++ 2015-2019 可轉散發套件 64 位元 / 32 位元
Windows Server 2012 Microsoft Visual C++ 2015-2019 可轉散發套件 64 位元 / 32 位元
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 可轉散發套件 64 位元 / 32 位元

當收到下列 dll 相關的錯誤時,也必須滿足上述需求:

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

容器提供一種輕量型方式,可將您的應用程式與主機系統的其餘部分隔離開來。 相同機器上的容器只會共用核心,並使用提供給您應用程式的資源。

.NET 可以在 Docker 容器中執行。 官方的 .NET Docker 映像會發佈至 Microsoft Container Registry (MCR),並可在 Microsoft .NET Docker Hub 存放庫 (英文) 中找到。 每個存放庫都包含您可以使用的 .NET (SDK 或執行階段) 與作業系統不同組合的映像。

Microsoft 會提供針對特定案例量身訂做的映像。 例如,ASP.NET Core 存放庫 \(英文\) 可提供為了在生產環境中執行 ASP.NET Core 應用程式而建置的映像。

如需在 Docker 容器中使用 .NET 的詳細資訊,請參閱 NET 和 Docker 簡介範例 (部分機器翻譯)。

疑難排解

安裝 .NET SDK 之後,可能會在嘗試執行 .NET CLI 命令時發生問題。 本節匯集了這些常見問題,並提供其解決方法。

找不到 .NET SDK

您很可能同時安裝了 x86 (32 位元) 和 x64 (64 位元) 版本的 .NET SDK。 這會造成衝突。因為當您執行 dotnet 命令時,原本應解析為 x64 版本,卻解析成了 x86 版本。 修正方法通常是將 %PATH% 變數調整成先解析 x64 版本。

  1. 您可以執行 where.exe dotnet 命令,確認是否安裝了這兩個版本。 執行此命令之後,應會列出 Program Files\Program Files (x86)\ 兩個資料夾項目。 如果 Program Files (x86)\ 資料夾在前 (如以下範例所示),代表不正確,您應該繼續下一個步驟。

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    如果是 Program Files\ 在前的正確狀態,代表沒有本節討論的問題,而您應該在 GitHub 上建立 .NET 說明要求問題

  2. 請按 [Windows] 按鈕,然後鍵入「編輯系統內容變數」進行搜尋。 選取 [編輯系統內容變數]

    Windows start menu with edit environment variable

  3. [系統內容] 視窗隨即會開啟 [進階] 索引標籤。選取 [環境變數]

    The Windows system properties panel open.

  4. 從 [環境變數] 視窗之 [系統變數] 群組下,選取 [路徑] 資料列,然後選取 [編輯] 按鈕。

    The environment variables window with user and system variables.

  5. 使用 [上移] 和 [下移] 按鈕,將 C:\Program Files\dotnet\ 移至 C:\Program Files (x86)\dotnet\ 的上方。

    The environment variables list for the system.

建置應用程式的速度比預期慢

確保智慧型應用程式控制 (一項 Windows 功能) 已關閉。 不建議在用於開發的機器上啟用智慧型應用程式控制。 「關閉」以外的任何設定都可能會對 SDK 效能造成負面影響。

下一步