在 Windows 上安裝 .NET

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

最新版的 .NET 是 8.0。

支援的版本有兩種類型:長期支援 (LTS) 版本和標準期限支援 (STS) 版本。 所有版本的品質都一樣。 唯一的差異是支援的時間長度。 LTS 版本可取得免費支援和修補程式三年。 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 運行時間 包含 .NET Desktop Runtime 包含核心運行時間 ASP.NET
.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 運行時間,但不包含 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 運行時間。 下列命令會安裝 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 並未隨附自動化的 .NET Core 安裝程式,例如 Visual Studio,但新增 .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 運行時間 包含 .NET Desktop Runtime 包含核心運行時間 ASP.NET
.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 自動化安裝

dotnet-install 腳本用於 CI 自動化和非系統管理員安裝運行時間。 您可以從 dotnet-install 指令碼參考頁面下載指令碼。

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

下列命令會同時安裝 Desktop 和 ASP.NET Core 執行時間,以達到最大相容性。

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 開發工作負載。
  • Desktop 和Mobile區段中的 .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 支援的操作系統版本

不支援的版本

不再支援下列 .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. GitHub https://github.com/dotnet/core/tree/main/release-notes/8.0 上的 .NET 8 版本資訊頁面包含名為 Releases 的區段。 該區段中的數據表會連結至每個 .NET 8 版本的下載和總和檢查碼檔案:

    The github release notes version table for .NET

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

    提示

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

  3. 在發行頁面中,您可以看到 .NET 運行時間和 .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 運行時間 包含 .NET Desktop Runtime 包含核心運行時間 ASP.NET
.NET 執行階段 No
.NET Desktop Runtime Yes .是 No
ASP.NET Core Runtime No Yes

下列清單提供每個執行時間的詳細資料:

  • 桌面運行時間
    執行適用於 Windows 的 .NET WPF 和 Windows Forms 傳統型應用程式。 包含 .NET 運行時間。

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

  • .NET 執行階段
    此執行階段是最簡單的執行階段,不包含任何其他執行階段。 安裝 ASP.NET Core Runtime 和 Desktop 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 .是

.NET SDK 的 x64 和 Arm64 版本彼此獨立存在。 如果發行新版本,則必須升級每個架構安裝。

路徑差異

在 Arm 型 Windows 電腦上,所有 Arm64 版本的 .NET 都會安裝到一般 C:\Program Files\dotnet\ 資料夾。 不過, .NET SDK 的 x64 版本會安裝到 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 版本。

路徑變數

如果您已安裝 .NET SDK 的 x64 和 Arm64 版本,可能需要變更將 .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 支援的操作系統版本

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

您很可能同時安裝 .NET SDK 的 x86 (32 位) 和 x64 (64 位) 版本。 這會造成衝突,因為當您執行 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
    

    如果正確且 程序檔\ 是第一個,則本節未討論問題,您應該在 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 (x86)\dotnet\ 上方移動 C:\Program Files\dotnet\ 專案。

    The environment variables list for the system.

下一步