共用方式為


在 Windows 上安裝 .NET

有許多不同的方式,可在 Windows 上安裝 .NET。 本文可協助您了解 SDK 與執行階段之間的差異、您應該安裝的執行階段,以及您應該用來安裝 .NET 的方法。

.NET 是由執行階段和 SDK 所組成。 執行階段會執行 .NET 應用程式,而 SDK 是用來建立應用程式。

不同於 .NET Framework,不會安裝 .NET,也不會將其繫結至您的 Windows 版本。 您只能在 Windows 上安裝單一版本的 .NET Framework。 .NET 可以安裝在您電腦上的任意處,而有些應用程式可能包含自己的 .NET 複本。

根據預設,除非安裝方法選擇不同的目錄,否則 .NET 會安裝至您電腦上的 Program Files\dotnet 目錄。

選擇正確的執行階段

Windows 有三個不同的執行階段,可讓不同類型的應用程式執行。 SDK 包含所有三個執行階段。 如果您安裝特定執行階段,其可能包含其他執行階段。 下表描述特定 .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 Yes .是 Yes

若要確保您可以在 Windows 上執行所有 .NET 應用程式,請同時安裝 ASP.NET Core Runtime 和 .NET Desktop Runtime。 ASP.NET Core Runtime 會執行任何 Web 應用程式,而 .NET Desktop Runtime 會執行任何傳統型應用程式,例如 Windows Presentation Foundation (WPF) 或 Windows Forms (WinForms) 應用程式。

選擇如何安裝 .NET

有不同的方式來安裝 .NET,而有些產品 (例如 Visual Studio) 可能會管理自己的 .NET 版本。 如果您透過管理自己 .NET 版本的軟體安裝 .NET,則也應該個別安裝 .NET 執行階段,以便您可以執行 .NET 應用程式。

如果在檢閱下列各節中的清單之後,您不確定應該選擇哪一種方法,則可能想要使用 .NET 安裝程式

開發人員

  • Visual Studio

    當您想要使用 Visual Studio 開發 .NET 應用程式時,請使用 Visual Studio 來安裝 .NET。 Visual Studio 會管理自己的 .NET 複本。 此方法會安裝 SDK、執行階段和 Visual Studio 範本。

  • Visual Studio Code - C# 開發套件

    安裝適用於 Visual Studio Code 的 C# 開發套件延伸模組,以開發 .NET 應用程式。 這個方法會使用您先前安裝的 SDK。

使用者和開發人員

  • .NET 安裝程式

    使用 Windows Installer 套件安裝 .NET,此套件是您執行的可執行檔。 這個方法可以安裝 SDK 和執行階段。 安裝是在全系統上執行的。

  • Windows 封裝管理員 (WinGet)

    當您想要透過命令列管理 .NET 時,請使用 WinGet 來安裝 .NET。 這個方法可以安裝 SDK 和執行階段。 安裝是在全系統上執行的。

  • PowerShell

    一種 PowerShell 指令碼,可將 SDK 或執行階段的安裝自動化。 您可以選擇要安裝的 .NET 版本。

支援的版本

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

提示

提醒您,下表適用於新式 .NET (與 .NET Framework 相反)。 若要安裝 .NET Framework,請參閱 .NET Framework 安裝指南

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

作業系統 .NET 8 (架構) .NET 6 (架構)
Windows 11 ✔️ x64、x86、Arm64 ✔️ x64、Arm64
Windows Server 2022 ✔️ x64、x86 ✔️ x64、x86
Windows 10 版本 1607 或更新版本 ✔️ x64、x86、Arm64 ✔️ x64、x86、Arm64
Windows 8.1 ✔️ x64、x86
Windows 7 SP1 ESU ✔️ x64、x86
Windows Server 2022
Windows Server 2019
Windows Server 版本 1903 或更新版本
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ x64、x86 ✔️ x64、x86
Windows Server Core 2012 (和 R2) ✔️ x64、x86 ✔️ x64、x86
Nano Server 1809+ 版 ✔️ x64 ✔️ x64
Nano Server 1803 版

提示

+ 符號代表最低版本。

Windows 7/8.1/Server 2012

雖然最新版本的 .NET 仍支援 Windows 2012,但 .NET 6 是支援 Windows 7 和 Windows 8.1 的最後一個版本。 這三個版本的 Windows 都需要安裝進一步的相依性:

作業系統 必要條件
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

Arm 架構的 Windows 電腦

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

支援項目

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

.NET 版本 SDK 執行階段 路徑衝突 支援
8 Yes .是 No ✔️
8 Yes .是 No ✔️
6 Yes .是 No ✔️
6 Yes .是 No ✔️

x86、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.0 之前的任何 x64 SDK 都不會受到支援,且會安裝至與 Arm64 版本相同的位置,即 C:\Program Files\dotnet\ 資料夾。 若要安裝不受支援的 x64 SDK,您必須先解除安裝 Arm64 版本。 反之亦然。 您必須解除安裝不受支援的 x64 SDK,才能安裝 Arm64 版本。

路徑變數

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

隨 Visual Studio 安裝

Visual Studio 會安裝自己的 .NET 複本,與其他 .NET 複本分開。 不同版本的 Visual Studio 支援不同版本的 .NET。 最新版的 Visual Studio 一律支援最新版的 .NET。

Visual Studio 安裝程式會安裝並設定 Visual Studio。 某些 Visual Studio 工作負載會包含 .NET,例如 ASP.NET 和網頁程式開發,以及 .NET Multi-Platform App UI。 可以透過 [個別元件] 索引標籤來安裝特定版本的 .NET。

Visual Studio 文件提供下列作法的指示:

顯示 Visual Studio 安裝程式的螢幕擷取畫面,其中以紅色方塊醒目提示 .NET Desktop 工作負載。

.NET 版本和 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. 從 [關於] 對話方塊中找出版本號碼。

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

使用 Visual Studio Code 安裝

Visual Studio Code 會使用已在您系統上安裝的 .NET 版本。 使用 .NET 安裝程式Windows 封裝管理員安裝 .NET。 Visual Studio 會安裝自己的 .NET 複本,而 Visual Studio Code 無法使用此複本。

.NET 應用程式是使用 C# 開發套件延伸模組建立在 Visual Studio Code 中。

  1. 首先,遵循其他章節之一中的步驟安裝 .NET SDK,但有關 Visual Studio 的章節除外。

  2. 接下來,如果您尚未安裝 Visual Studio Code,請加以安裝。 如需詳細資訊,請參閱 Windows 上的 Visual Studio Code

  3. 最後,安裝 C# 開發套件延伸模組。 如需詳細資訊,請參閱 開始使用 VS Code 中的 C#

.NET 安裝程式

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

  1. 開啟 web 瀏覽器並巡覽至 https://dotnet.microsoft.com/download/dotnet

  2. 選取您想要下載的 .NET 版本,例如 8.0。

  3. 尋找 SDK 或執行階段方塊,其中包含用於下載 .NET 的連結。

  4. 在 [安裝程式] 資料行底下,尋找 [Windows] 資料列,然後選取 CPU 架構的連結。 如果您不確定,請選取 x64,因為其是最常用的。

    瀏覽器會自動下載 MSI 套件。

    提示

    下圖顯示 SDK,但您也可以下載執行階段。

    .NET 下載頁面的影像,其中已醒目提示 SDK 下載連結。

  5. 開啟 Windows 檔案總管並瀏覽至下載檔案的位置,最有可能是您的 Downloads 資料夾。

  6. 按兩下檔案以安裝 .NET。

    Windows Installer 對話方塊即會開啟。

    .NET MSI 安裝程式應用程式視窗的螢幕擷取畫面。

  7. 選取 [安裝] 並遵循指示來安裝 .NET。

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

命令列選項

如果您想要以無訊息方式安裝 .NET (例如在實際執行環境中) 或支援持續整合,請使用下列 Windows Installer 選項:

  • /install
    安裝 .NET。

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

  • /norestart
    Suppresses any attempts to restart.

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

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

提示

安裝程式傳回結束代碼 0,表示成功;傳回結束代碼 3010,表示需要重新啟動。 任何其他值最有可能是錯誤碼。

使用 Windows 封裝管理員安裝 (WinGet)

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

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

.NET WinGet 套件如下:

  • Microsoft.DotNet.Runtime.8—.NET Runtime 8.0。
  • Microsoft.DotNet.AspNetCore.8—ASP.NET Core Runtime 8.0
  • Microsoft.DotNet.DesktopRuntime.8—.NET Desktop Runtime 8.0
  • Microsoft.DotNet.SDK.8—.NET SDK 8.0

安裝 SDK

如果您安裝 SDK,則不需要安裝對應的執行階段。

  1. 安裝 WinGet

  2. 開啟終端機,例如 PowerShell 或 cmd.exe

  3. 執行 winget install 命令,並傳遞 SDK 套件的名稱:

    winget install Microsoft.DotNet.SDK.8
    

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

安裝執行階段

有您可以安裝的不同執行階段。 請參閱選擇正確的執行階段一節,以了解每個執行階段隨附的內容。

  1. 安裝 WinGet

  2. 開啟終端機,例如 PowerShell命令提示字元

  3. 執行 winget install 命令,並傳遞 SDK 套件的名稱:

    winget install Microsoft.DotNet.DesktopRuntime.8
    winget install Microsoft.DotNet.AspNetCore.8
    

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

搜尋版本

使用 winget search 命令來搜尋您要安裝的不同套件版本。 例如,下列命令會搜尋所有可透過 WinGet 取得的 .NET SDK:

winget search Microsoft.DotNet.SDK

搜尋結果會隨著每個套件識別碼列印在資料表中。

Name                           Id                           Version                    Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Preview Microsoft.DotNet.SDK.Preview 9.0.100-preview.3.24204.13 winget
Microsoft .NET SDK 8.0         Microsoft.DotNet.SDK.8       8.0.300                    winget
Microsoft .NET SDK 7.0         Microsoft.DotNet.SDK.7       7.0.409                    winget
Microsoft .NET SDK 6.0         Microsoft.DotNet.SDK.6       6.0.422                    winget
Microsoft .NET SDK 5.0         Microsoft.DotNet.SDK.5       5.0.408                    winget
Microsoft .NET SDK 3.1         Microsoft.DotNet.SDK.3_1     3.1.426                    winget

安裝預覽版本

您可以透過將版本號碼 (例如 8) 替代為 Preview 一字來安裝預覽版。 下列範例會安裝預覽版的 .NET Desktop Runtime:

winget install Microsoft.DotNet.DesktopRuntime.Preview

使用 PowerShell 安裝

針對持續整合和非管理員安裝,建議透過 dotnet-install PowerShell 指令碼安裝 .NET。 如果您要在系統上安裝 .NET 以便正常使用,請使用 .NET 安裝程式Windows 封裝管理員安裝方法。

根據預設,此指令碼會安裝最新的長期支援 (LTS) 版本 (亦即 .NET 8)。 您可以透過指定 -Channel 參數來選擇特定版本。 包含 -Runtime 參數以安裝執行階段。 否則,指令碼會安裝 SDK。 指令碼可在 https://dot.net/v1/dotnet-install.ps1 取得,而原始程式碼裝載於 GitHub

如需指令碼的詳細資訊,請參閱 dotnet-install 指令碼參考

安裝執行階段

.NET 執行階段是透過提供 -Runtime 參數來安裝。

  1. https://dot.net/v1/dotnet-install.ps1 下載安裝指令碼

  2. 開啟 PowerShell 並瀏覽至包含指令碼的資料夾。

  3. 執行下列命令以同時安裝 Desktop 執行階段和 ASP.NET Core 執行階段,來取得最大相容性:

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

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

安裝 SDK

如果安裝 SDK,您不需要安裝執行階段。

  1. https://dot.net/v1/dotnet-install.ps1 下載安裝指令碼

  2. 開啟 PowerShell 並瀏覽至包含指令碼的資料夾。

  3. 執行下列命令來安裝 .NET SDK。

    dotnet-install.ps1
    

    注意

    SDK 是透過省略 -Runtime 參數安裝的。

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

驗證

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

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

具有總和檢查碼的 .NET 下載頁面

您可以使用 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 版本的下載和總和檢查碼檔案:

    .NET 的 github 發行備註版本資料表

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

    提示

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

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

    具有 .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 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 [開始] 功能表

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

    Windows 系統屬性面板會隨即開啟。

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

    包含使用者和系統變數的環境變數視窗。

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

    系統的環境變數清單。

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

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

hostfxr.dll / api-ms-win-crt-runtime-l1-1-0.dll / api-ms-win-cor-timezone-l1-1-0.dll 遺失

安裝 Microsoft Visual C++ 2015-2019 可轉散發套件 (64 位元32 位元)。