本文將教你哪些 .NET 版本在 Windows 上被支援、如何安裝 .NET,以及 SDK 與執行環境的差異。
與 .NET Framework 不同,.NET 不綁定於你的 Windows 版本。 Windows 上只能安裝一個版本的 .NET Framework。 但 .NET 是獨立的,可以在電腦的任何地方安裝。 有些應用程式可能會包含自己的 .NET 檔案。
預設情況下,.NET 會安裝在你電腦的 Program Files\dotnet 目錄中,除非安裝方式選擇了不同的目錄。
這很重要
如果你是系統性安裝 .NET,請使用管理員權限安裝。
.NET 由執行時和 SDK 組成。 執行時會執行 .NET 應用程式,SDK 則用來建立應用程式。
選擇正確的執行階段
Windows 有三種不同的執行環境,讓不同類型的應用程式能夠運行。 SDK 包含所有三個執行階段,且執行階段的安裝程式可能包含額外的執行階段。 下表說明特定 .NET 安裝程式包含的執行階段:
| 安裝程式 | 包含 .NET 執行階段 | 包含 .NET 桌面執行環境 | 包含 ASP.NET Core 執行環境 |
|---|---|---|---|
| .NET Runtime | 是 | 無 | 無 |
| .NET Desktop Runtime | 是 | 是 | 無 |
| ASP.NET Core Runtime | 無 | 無 | 是 |
| .NET SDK | 是 | 是 | 是 |
為了確保你能在 Windows 上執行所有 .NET 應用程式,請同時安裝 ASP.NET Core 執行環境和 .NET 桌面執行環境。 ASP.NET Core 執行環境可執行網頁應用程式,.NET 桌面執行環境則執行桌面應用程式,例如 Windows Presentation Foundation(WPF)或 Windows Forms 應用程式。
選擇如何安裝 .NET
安裝 .NET 有多種方式,有些產品可能會自行管理 .NET 版本。 如果你是透過管理其自身版本的 .NET 的軟體來安裝 .NET,這可能不會在整個系統中被啟用。 務必了解透過其他軟體安裝 .NET 的相關影響。
如果你在查看後不確定該選擇哪種方法,建議使用 .NET 安裝器。
開發人員
-
當你想用 Visual Studio 開發.NET應用程式時,請使用 Visual Studio 來安裝 .NET。 Visual Studio 自行管理 .NET 的副本。 此方法可安裝 SDK、執行時及 Visual Studio 範本。
-
安裝 C# Dev Kit 擴充功能,讓Visual Studio Code開發.NET應用程式。 此擴充功能可以使用已安裝的 SDK,也可以為您安裝 SDK。
用戶和開發人員
-
使用 Windows Installer 套件來安裝 .NET,這是一個供您執行的可執行檔。 這個方法可以安裝 SDK 和執行階段。 安裝是在全系統上執行的。
Windows Package Manager (WinGet)
當你想透過命令列管理.NET時,使用 WinGet 來安裝 .NET。 這個方法可以安裝 SDK 和執行階段。 安裝是在全系統上執行的。
-
一種 PowerShell 指令碼,可將 SDK 或執行階段的安裝自動化。 你可以選擇安裝哪個版本的 .NET。
支援的版本
下表列出目前支援的 .NET 版本及其支援的 Windows 版本。 這些版本會持續支援,直到 .NET 版本終止支援 或 Windows 版本終止。
提示
提醒一下,這張表適用於現代 .NET(相較於 .NET 框架)。 要安裝 .NET Framework,請參閱 .NET Framework 安裝指南。
Windows 10 版本的服務終止日期依版本細分。 下表僅列出家用版、專業版、專業教育版和工作站專業版。 具體細節請參考Windows生命週期說明單。
| 作業系統 | .NET 10(架構) | .NET 9(架構) | .NET 8(架構) |
|---|---|---|---|
| Windows 11(24H2、23H2、22H2 Ent/Edu) | ✔️ x64、ARM64 | ✔️ x64、ARM64 | ✔️ x64、ARM64 |
| Windows 10(22H2) | ✔️ x64、ARM64 | ✔️ x64、ARM64 | ✔️ x64、ARM64 |
| Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server,版本 1903 或更新版本 Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 |
✔️ x64、x86 | ✔️ x64、x86 | ✔️ x64、x86 |
| Windows Server Core 2012(及 R2) | ✔️ x64、x86 | ✔️ x64、x86 | ✔️ x64、x86 |
| 奈米伺服器 (2025, 2022, 2019) | ✔️ x64 | ✔️ x64 | ✔️ x64 |
| Windows 8.1 | ❌ | ❌ | ❌ |
| Windows 7 SP1 ESU | ❌ | ❌ | ❌ |
提示
+ 符號代表最低版本。
Windows 7 / 8.1 / Server 2012
目前已無支援 Windows 7 和 Windows 8.1 版本的 .NET。 最後支援的版本是 .NET 6,支援於 2024 年 11 月 12 日結束。
Windows Server 2012 仍被任何仍在支援的 .NET 版本所支援。
這三個版本的 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 PC
.NET 支援於基於 Arm 的 Windows 電腦。 以下章節說明安裝 .NET 時應考慮的事項。
路徑差異
在基於 Arm 的 Windows PC 上,所有 Arm64 版本的 .NET 都安裝在正常的 C:\Program Files\dotnet\ 資料夾中。 然而,.NET SDK 的 x64 版本已安裝在 C:\Program Files\dotnet\x64\ 資料夾中。
路徑變數
如果您同時安裝了 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,如
Visual Studio 文件提供了相關說明,指導如何:
.NET 版本與 Visual Studio
如果你使用 Visual Studio 來開發 .NET 應用程式,下表說明了根據目標 .NET SDK 版本所需的 Visual Studio 最低要求版本。
| .NET SDK 版本 | Visual Studio 版本 |
|---|---|
| 10 | Visual Studio 2026 版本 18.0 或更高版本。 |
| 9 | Visual Studio 2022 版本 17.12 或更高版本。 |
| 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,可以透過以下步驟檢查你的版本。
- 打開 Visual Studio。
- 選擇 Help>About Microsoft Visual Studio。
- 從 [關於] 對話方塊中找出版本號碼。
欲了解更多資訊,請參閱 .NET SDK、MSBuild 及 Visual Studio versioning。
使用 Visual Studio Code 安裝
Visual Studio Code 是一款強大且輕量級的原始碼編輯器,可在桌面上運行。 Visual Studio Code 可以使用系統上已安裝的 SDK。
這很重要
如果你是系統性安裝 .NET,請使用管理員權限安裝。
這個 WinGet 設定檔安裝了最新的 .NET SDK、Visual Studio Code 和 C# DevKit。 如果您已安裝其中任何一個,WinGet 將會略過此步驟。
- 下載檔案,然後按兩下以執行它。
- 閱讀許可協議,輸入 y,然後在系統提示接受時選取 [輸入]。
- 如果您在任務欄中收到閃爍的用戶帳戶控制 (UAC) 提示,請允許安裝繼續。
另外,C# Dev Kit 擴充功能如果還沒安裝,也能幫你安裝.NET。
關於安裝 .NET 到 Visual Studio Code 的說明,請參見 Getting Started with C# in VS Code。
.NET 安裝程式
下載頁面提供 .NET 的 Windows 安裝程式執行檔。
這很重要
如果你是系統性安裝 .NET,請使用管理員權限安裝。
開啟網頁瀏覽器並瀏覽至 https://dotnethttps://dotnet.microsoft.com/download/dotnet。
選擇你想下載的 .NET 版本,例如 10.0。
找到包含下載 .NET 連結的 SDK 或執行時框。
在 Installers 欄位下,找到 Windows 列,選擇你的 CPU 架構連結。 如果您不確定,請選取 x64,因為其是最常用的。
瀏覽器應該會自動下載安裝程式。
提示
下圖顯示 SDK,但您也可以下載執行環境。
打開檔案總Windows,找到檔案下載的地方,很可能是你的 Downloads 資料夾。
雙擊該檔案即可安裝 .NET。
Windows 安裝程式對話框已開啟。
選擇 Install,並依指示安裝.NET。
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
命令列選項
使用 /? 參數顯示選項清單。
如果你想靜默安裝 .NET,例如在生產環境或支援持續整合,請使用以下選項:
/install
安裝 .NET。/quiet
禁止顯示任何 UI 和提示。/norestart
抑制任何重新啟動的嘗試。
dotnet-sdk-9.0.100-win-x64.exe /install /quiet /norestart
如果你已經安裝了 .NET,請使用 .NET 安裝程式來管理安裝。 使用下列其中一個選項,而不是 /install:
/uninstall
移除這個版本的 .NET。/repair
檢查安裝金鑰檔案或元件是否已損毀並加以還原。
提示
安裝程式傳回結束代碼 0,表示成功;傳回結束代碼 3010,表示需要重新啟動。 任何其他值最有可能是錯誤碼。
Microsoft更新
.NET 安裝程式執行檔是獨立產品,可在 Windows 上使用 Microsoft Update(MU)進行維護。 MU 與 Windows Update(WU)不同,後者用於服務作業系統元件,如 .NET Framework。
支援的 .NET 版本的安全與非安全修補,皆透過多重分發管道透過 MU 提供。 自動更新(AU)對終端使用者和消費者具有相關性,而 Windows Server Update Services(WSUS)和 Windows Update 目錄則與 IT 管理員相關。
.NET 安裝程式執行檔支援跨主要與次要版本的並排(SxS)安裝,適用於不同架構與元件,例如執行階段與 SDK。 例如,您可以安裝 6.0.15 (x64)和 6.0.17 (x86)執行環境。 當 MU 被觸發時,它會為這兩個安裝提供最新的安裝程式。
封鎖更新
雖然大多數使用者希望能保持最新狀態,但也可以利用下表中的登錄檔鍵阻擋 .NET 更新。
| .NET 版本 | 登錄鍵 | 名稱 | 類型 | 價值 |
|---|---|---|---|---|
| 全部 | HKLM\SOFTWARE\Microsoft\.NET | BlockMU | REG_DWORD | 0x00000001 |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 7 | HKLM\SOFTWARE\Microsoft\.NET\7.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 6 | HKLM\SOFTWARE\Microsoft\.NET\6.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 5 | HKLM\SOFTWARE\Microsoft\.NET\5.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 核心 3.1 | HKLM\SOFTWARE\Microsoft\.NET\3.1 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 核心 2.1 | HKLM\SOFTWARE\Microsoft\.NET\2.1 | BlockMU | REG_DWORD | 0x00000001 |
伺服器OS的自動更新
WSUS 和 Microsoft 更新目錄支援伺服器作業系統的更新,但不支援 AU。 伺服器作業系統可以選擇使用下列登錄機碼透過 AU 接收更新。
| .NET 版本 | 登錄鍵 | 名稱 | 類型 | 價值 |
|---|---|---|---|---|
| 全部 | HKLM\SOFTWARE\Microsoft\.NET | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 7 | HKLM\SOFTWARE\Microsoft\.NET\7.0 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 6 | HKLM\SOFTWARE\Microsoft\.NET\6.0 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 5 | HKLM\SOFTWARE\Microsoft\.NET\5.0 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
| .NET 核心 3.1 | HKLM\SOFTWARE\Microsoft\.NET\3.1 | 允許自動更新在伺服器操作系統上 | REG_DWORD | 0x00000001 |
WSUS 和更新分類
WSUS 可以設定為根據其 分類提供特定更新。 .NET 的更新分為 安全性 或 重要性。 若最新更新被評為關鍵,當安裝了較舊版本的 .NET 而最新的 安全性 更新取代了它時,可能會提供較舊的 安全性 更新。 這也適用於使用離線 CAB (Wsusscan2.cab) 掃描電腦。
注意事項
在某些情況下,WSUS 可能會報告有比你安裝的 .NET 版本還舊的版本更新遺失。 舉例來說,假設使用者安裝了 .NET 6.0.36,也就是最新版本的 .NET 6。 此版本分類為重大(非安全性)更新。 然後應用程式會安裝舊版 6.0.33。 (應用程式常常會將特定版本的 .NET 作為前置條件。)如果管理員設定 WSUS 只提供安全更新,下一次掃描會報告 6.0.35 缺少更新。 設定為透過 AU 或 WSUS 接收 安全性 更新的機器,即使已安裝 6.0.36,仍然會接收到 6.0.35 的更新。 原因是 6.0.35 取代 6.0.33,且是最新的 安全性 更新。
選擇何時移除舊版
安裝程式可執行檔一律會先安裝新內容,再移除先前的安裝。 拿掉舊版運行時間時,正在執行的應用程式可能會中斷或當機。 為了減少更新 .NET 的影響,你可以用登錄檔金鑰指定何時移除先前的 .NET 安裝。
| .NET 版本 | 登錄鍵 | 名稱 | 類型 | 價值 |
|---|---|---|---|---|
| 全部 | HKLM\SOFTWARE\Microsoft\.NET | 移除先前版本 | REG_SZ |
always、 never或 nextSession |
| .NET 10 | HKLM\SOFTWARE\Microsoft\.NET\10.0 | 移除先前版本 | REG_SZ |
always、 never或 nextSession |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | 移除先前版本 | REG_SZ |
always、 never或 nextSession |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | 移除先前版本 | REG_SZ |
always、 never或 nextSession |
-
never保留先前安裝,並需人工介入移除先前.NET安裝。 -
always在安裝新版本之後,會移除先前的安裝。 這是 .NET 的預設行為。 -
nextSession延遲移除,直到系統管理員群組成員下次登入為止。 - 值不區分大小寫,且無效的值預設為
always。
當延遲移除時,安裝程式會將命令寫入 RunOnce 註冊表機碼,以便卸載舊版本。 只有在 Administrators 群組中的使用者登入計算機時,才會執行命令。
注意事項
此功能僅從 .NET 8(8.0.11)開始提供。 它僅適用於獨立安裝檔案的可執行程式,並影響像 WinGet 這樣使用這些安裝檔案的發行套件。
使用 Windows Package Manager 安裝(WinGet)
你可以透過 Windows Package Manager 服務安裝和管理.NET,使用 winget.exe 工具。 如需如何安裝和使用 WinGet 的詳細資訊,請參閱使用 winget 工具來安裝和管理應用程式。
這很重要
如果你是系統性安裝 .NET,請使用管理員權限安裝。
.NET WinGet 套件包括:
-
Microsoft.DotNet.Runtime.10—.NET Runtime 10.0 -
Microsoft.DotNet.AspNetCore.10—ASP.NET Core 執行環境 10.0 -
Microsoft.DotNet.DesktopRuntime.10—.NET Desktop Runtime 10.0 -
Microsoft.DotNet.SDK.10—.NET SDK 10.0 -
Microsoft.DotNet.Runtime.9—.NET 運行時 9.0 -
Microsoft.DotNet.AspNetCore.9—ASP.NET Core 執行環境 9.0 -
Microsoft.DotNet.DesktopRuntime.9—.NET Desktop Runtime 9.0 -
Microsoft.DotNet.SDK.9—.NET SDK 9.0 -
Microsoft.DotNet.Runtime.8—.NET 運行時 8.0 -
Microsoft.DotNet.AspNetCore.8—ASP.NET Core 執行環境 8.0 -
Microsoft.DotNet.DesktopRuntime.8—.NET Desktop Runtime 8.0 -
Microsoft.DotNet.SDK.8—.NET SDK 8.0
安裝 SDK
如果您安裝 SDK,則不需要安裝對應的執行階段。
開啟終端機,例如 PowerShell 或命令提示字元。
執行
winget install命令,並傳遞 SDK 套件的名稱:winget install Microsoft.DotNet.SDK.10
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
安裝執行階段
有您可以安裝的不同執行階段。 請參閱選擇正確的執行階段一節,以了解每個執行階段隨附的內容。
開啟終端機,例如 PowerShell 或命令提示字元。
執行
winget install命令,並傳遞 SDK 套件的名稱:winget install Microsoft.DotNet.DesktopRuntime.10 winget install Microsoft.DotNet.AspNetCore.10
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
搜尋版本
使用 winget search 命令來搜尋您要安裝的不同套件版本。 例如,以下指令用來搜尋所有透過 WinGet 提供的 .NET SDK:
winget search Microsoft.DotNet.SDK
搜尋結果會被列印出來,並放在每個套件識別碼的資料表中。
Name Id Version Source
--------------------------------------------------------------------------------------------
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.428 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.410 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.415 winget
Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.306 winget
Microsoft .NET SDK 10.0 Microsoft.DotNet.SDK.10 10.0.100 winget
安裝預覽版本
如果預覽版本可用,請將標識碼中的版本號碼取代為一個字Preview。 以下範例安裝了 .NET 桌面執行時的預覽版本:
winget install Microsoft.DotNet.DesktopRuntime.Preview
使用 PowerShell 安裝
建議透過 dotnet-install PowerShell 腳本安裝.NET,用於持續整合和非管理安裝。 如果你要為正常使用在系統上安裝 .NET,請使用 .NET 安裝程式 或 Windows 套件管理員 安裝方法。
腳本預設安裝最新的 long term support (LTS) 版本,也就是 .NET 10。 您可以透過指定 -Channel 參數來選擇特定版本。 包含 -Runtime 選項以安裝執行階段。 否則,指令碼會安裝 SDK。 腳本可於 https://dot.net/v1/dotnet-install.ps1 取得,原始碼則託管於 GitHub。
如需腳本的詳細資訊,請參閱 dotnet-install 腳本參考。
安裝執行階段
.NET 執行階段是透過提供 -Runtime 參數來安裝的。
從 https://dot.net/v1/dotnet-install.ps1 下載安裝指令碼
開啟 PowerShell 並瀏覽至包含指令碼的資料夾。
執行以下指令以安裝桌面執行環境與 ASP.NET Core 執行環境,以達到最大相容性:
dotnet-install.ps1 -Runtime windowsdesktop dotnet-install.ps1 -Runtime aspnetcore
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
安裝 SDK
如果安裝 SDK,您不需要安裝執行階段。
從 https://dot.net/v1/dotnet-install.ps1 下載安裝指令碼
開啟 PowerShell 並瀏覽至包含指令碼的資料夾。
執行以下指令安裝 .NET SDK。
dotnet-install.ps1注意事項
SDK 是通過省略
-Runtime參數來安裝的。
欲了解如何使用 .NET CLI,請參閱 .NET CLI overview。
驗證
下載安裝程式或二進位版本後,請加以驗證以確認檔案未變更或損毀。 您可以驗證電腦上的總和檢查碼,然後將它與下載網站上所報告的內容進行比較。
當您從官方下載頁面下載檔案時,檔案的總和檢查碼將顯示在文字方塊中。 選取 [複製] 按鈕,將總和檢查碼值複製到剪貼簿。
您可以使用 PowerShell 或命令提示字元來驗證您所下載檔案的總和檢查碼。 例如,下列命令會報告dotnet-sdk-9.0.306-win-x64.exe檔案的總和檢查碼:
> certutil -hashfile dotnet-sdk-9.0.306-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-9.0.306-win-x64.exe:
f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash
f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f
將該總和檢查碼與下載網站所提供的值進行比較。
使用 PowerShell 和總和檢查碼檔案來驗證
.NET 版本說明中有一個校驗和檔案的連結,可以用來驗證你下載的檔案。 以下步驟說明如何下載校驗碼檔案並驗證 .NET 安裝二進位檔:
.NET 9 on GitHub 的發行說明頁面https://github.com/dotnet/core/tree/main/release-notes/9.0 有一個名為 Releases 的章節。 該區塊的表格連結到每個 .NET 9 版本的下載檔案與校驗和檔案。 以下圖片展示了 .NET 8 發行表作為參考:
選擇你下載的 .NET 版本連結。 前一節使用 .NET SDK 9.0.306,該版本收錄於 .NET 9.0.10 版本中。
提示
如果你不確定哪個 .NET 版本包含你的校驗碼檔案,請繼續瀏覽連結直到找到它。
在版本發佈頁面,你可以看到 .NET 執行階段和 .NET SDK 版本,以及檢查碼檔案的連結。 以下圖片展示了 .NET 8 發行表作為參考:
複製校驗碼檔案的連結。
使用下列指令碼,但取代連結以下載適當的校驗碼檔案:
Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt -OutFile 9.0.10-sha.txt當校驗和檔案與 .NET 發行檔案下載到同一目錄時,請在校驗和檔案中搜尋 .NET 下載的校驗碼:
驗證通過時,您會看到 True 印出:
> (Get-Content .\9.0.10-sha.txt | Select-String "dotnet-sdk-9.0.306-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash + "*" True如果您看到 False 印出,則您下載的檔案無效,且不應該使用。
疑難排解
安裝 .NET SDK 後,執行 .NET CLI 指令時可能會遇到問題。 本節匯集了這些常見問題,並提供其解決方法。
- 未找到.NET SDK
- 建置應用程式的速度比預期慢
-
hostfxr.dll/api-ms-win-crt-runtime-l1-1-0.dll/api-ms-win-cor-timezone-l1-1-0.dll缺少
未找到任何 .NET SDK
很可能你同時安裝了 x86(32 位元)和 x64(64 位元)版本的 .NET SDK。 這會造成衝突。因為當您執行 dotnet 命令時,原本應解析為 x64 版本,卻解析成了 x86 版本。 修正此問題的方法是將 %PATH% 變數調整成先解析 x64 版本。
您可以執行
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,但您可能會看到列出的其他 dotnet.exe 複本。 請調整它們,以便能夠先解決適當的 dotnet.exe。
如果正確且Program Files是在第一位,那麼您就沒有本節所討論的問題。您應該在GitHub上建立一個.NET求助請求。
按下 Windows 按鈕,然後輸入「Edit the system environment variables」到搜尋區。 選取 [編輯系統內容變數]。
[系統內容] 視窗隨即會開啟 [進階] 索引標籤。選取 [環境變數]。
從 [環境變數] 視窗之 [系統變數] 群組下,選取 [路徑] 資料列,然後選取 [編輯] 按鈕。
使用 上移 和 下移 按鈕來將 C:\Program Files\dotnet\ 條目移動到 C:\Program Files (x86)\dotnet\之上。
建置應用程式的速度比預期慢
請確保 Windows 的 Smart App Control 功能已關閉。 不建議在用於開發的機器上啟用智慧型應用程式控制。 「關閉」以外的任何設定都可能會對 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 位元)。