共用方式為


在 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 Installer

開發人員

  • 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 Installer

    使用 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 ✔️

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

路徑差異

在 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 版本。

路徑變數

如果您已安裝 .NET SDK 的 x64 和 Arm64 版本,可能需要變更將 .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 和 Web 開發 ,以及 .NET 多平台應用程式 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 InstallerWindows 封裝管理員 安裝 .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 Installer

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

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

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

  3. 尋找包含下載 .NET 連結的 SDK 或運行時間方塊。

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

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

    提示

    下圖顯示 SDK,但您也可以下載運行時間。

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

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

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

    [Windows Installer] 對話框隨即開啟。

    .NET MSI 安裝程式應用程式視窗的螢幕快照。

  7. 選取 [ 安裝 ],然後依照指示安裝 .NET。

命令列選項

如果您想要以無訊息方式安裝 .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
    

安裝執行階段

您可以安裝不同的執行時間。 請參閱選擇正確的運行時間一節,以瞭解每個運行時間隨附的內容。

  1. 安裝 WinGet

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

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

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

搜尋版本

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. 執行下列命令以同時安裝桌面運行時間和 ASP.NET Core 執行時間,以達到最大相容性:

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

安裝 SDK

如果您安裝 SDK,則不需要安裝執行時間。

  1. 從下載安裝腳本 https://dot.net/v1/dotnet-install.ps1

  2. 開啟 PowerShell 並流覽至包含文稿的資料夾。

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

    dotnet-install.ps1
    

    注意

    SDK 是藉由省略 -Runtime 參數來安裝。

驗證

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

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

具有總和檢查碼的 .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 位)。