請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
本文將介紹Windows支援哪些版本的.NET、如何安裝.NET,以及SDK和執行階段的差異。
與.NETFramework不同,.NET不受Windows版本的限制。您只能在Windows上安裝單一版本的.NETFramework。但.NET是獨立的,可以安裝在電腦上的任何位置。某些應用程式可能會包含它們自己的.NET副本。
預設情況下,.NET會安裝到電腦上的ProgramFiles\dotnet目錄,除非安裝方法選擇其他目錄。
.NET是由執行階段和SDK所組成。執行階段會執行.NET應用程式,而SDK是用來建立應用程式。
Windows有三個不同的執行階段,可讓不同類型的應用程式執行。SDK包含所有三個執行階段,且執行階段的安裝程式可能包含額外的執行階段。下表描述特定.NET安裝程式隨附的執行階段:
若要確保您可以在Windows上執行所有.NET應用程式,請同時安裝ASP.NETCoreRuntime和.NETDesktopRuntime。ASP.NETCore執行階段執行Web式應用程式,而.NET桌面執行階段執行桌面應用程式,例如WindowsPresentationFoundation(WPF)或WindowsForms應用程式。
.NET有多種安裝方法,某些產品可能會管理它們自己的.NET版本。如果您透過管理自己版本的.NET的軟體安裝.NET,則可能無法在全系統範圍內啟用。請務必了解透過其他軟體安裝.NET的影響。
提示
+符號代表最低版本。
Windows7和Windows8.1不再支援.NET版本。最後支援的版本是.NET6,支援於2024年11月12日結束。
任何仍在支援的.NET版本仍支援WindowsServer2012。
這三個版本的Windows都需要安裝進一步的相依性:
當收到下列dll相關的錯誤時,也必須滿足上述需求:
以Arm為基礎的Windows計算機支援.NET。下列各節說明安裝.NET時應考慮的事項。
在Arm架構的Windows電腦上,所有Arm64版本的.NET都會安裝到標準的C:\ProgramFiles\dotnet\資料夾。不過,x64版本的.NETSDK會安裝到C:\ProgramFiles\dotnet\x64\資料夾。
如果您已同時安裝x64和Arm64版的.NETSDK,則可能需要變更將.NET新增至系統路徑的環境變數(例如PATH變數)。此外,某些工具依賴DOTNET_ROOT環境變數,它們也需要更新才能指向適當的.NETSDK安裝資料夾。
VisualStudio會安裝自己的.NET複本,與其他.NET複本分開。不同版本的VisualStudio支援不同版本的.NET。最新版的VisualStudio一律支援最新版的.NET。
VisualStudio安裝程式會安裝並設定VisualStudio。某些VisualStudio工作負載會包含.NET,例如ASP.NET和網頁程式開發,以及.NETMulti-PlatformAppUI。可以透過[個別元件]索引標籤來安裝特定版本的.NET。
VisualStudio文件提供下列作法的指示:
如果您使用VisualStudio開發.NET應用程式,下表會依據目標.NETSDK版本,列出所需VisualStudio的最低版本。
若您已安裝VisualStudio,可以使用下列步驟檢查您的版本。
使用/參數顯示選項清單。
如果要靜默安裝.NET(例如在生產環境中或支援持續整合),請使用下列選項:
dotnet-sdk-9.0.100-win-x64.exe/install/quiet/norestart提示
安裝程式傳回結束代碼0,表示成功;傳回結束代碼3010,表示需要重新啟動。任何其他值最有可能是錯誤碼。
.NET安裝程式可執行文件是獨立的產品,可在Windows上使用MicrosoftUpdate(MU)來提供服務。MU與WindowsUpdate(WU)不同,它用來服務.NETFramework等操作系統元件。
.NET支援版本的安全性和非安全性修正都是透過MU使用多個散發通道來提供。自動更新(AU)與使用者和取用者相關,而WindowsServerUpdateServices(WSUS)和WindowsUpdate目錄則與IT系統管理員相關。
.NET安裝程式可執行檔支援跨不同架構和元件的主要和次要版本並存安裝,例如運行時間和SDK。例如,您可以安裝6.0.15(x64)和6.0.17(x86)運行時間。當MU觸發程式時,它會為這兩個安裝提供最新的安裝程式。
雖然大部分的使用者偏好保持最新狀態,但可以使用下表中的登錄機碼來封鎖.NET更新。
WSUS和Microsoft更新目錄支援伺服器作業系統的更新,但不支援AU。伺服器作業系統可以選擇使用下列登錄機碼透過AU接收更新。
安裝程式可執行檔一律會先安裝新內容,再移除先前的安裝。拿掉舊版運行時間時,正在執行的應用程式可能會中斷或當機。若要將更新.NET的影響降到最低,您可以使用登錄機碼指定何時應移除先前的.NET安裝。
注意
此功能僅適用於.NET8(8.0.11)、9和更新版本的.NET。它只適用於獨立安裝程式可執行檔,並影響使用它們之WinGet等散發套件。
若要為全系統安裝.NET,請使用系統管理權限執行安裝。
.NETWinGet套件如下:
如果您安裝SDK,則不需要安裝對應的執行階段。
使用wingetsearch命令來搜尋您要安裝的不同套件版本。例如,下列命令會搜尋所有可透過WinGet取得的.NETSDK:
wingetsearchMicrosoft.DotNet.SDK搜尋結果會隨著每個套件識別碼列印在資料表中。
NameIdVersionSource----------------------------------------------------------------------------------------------Microsoft.NETSDK9.0Microsoft.DotNet.SDK.99.0.100wingetMicrosoft.NETSDK8.0Microsoft.DotNet.SDK.88.0.300wingetMicrosoft.NETSDK7.0Microsoft.DotNet.SDK.77.0.409wingetMicrosoft.NETSDK6.0Microsoft.DotNet.SDK.66.0.422wingetMicrosoft.NETSDK5.0Microsoft.DotNet.SDK.55.0.408wingetMicrosoft.NETSDK3.1Microsoft.DotNet.SDK.3_13.1.426winget安裝預覽版本如果預覽版本可用,請將標識碼中的版本號碼取代為一個字Preview。下列範例會安裝預覽版的.NETDesktopRuntime:
.NET執行階段是透過提供-Runtime參數來安裝。
如果安裝SDK,您不需要安裝執行階段。
下載安裝程式或二進位版本後,請加以驗證以確認檔案未變更或損毀。您可以驗證電腦上的總和檢查碼,然後將它與下載網站上所報告的內容進行比較。
當您從官方下載頁面下載檔案時,檔案的總和檢查碼將顯示在文字方塊中。選取[複製]按鈕,將總和檢查碼值複製到剪貼簿。
您可以使用PowerShell或命令提示字元來驗證您所下載檔案的總和檢查碼。例如,下列命令會回報dotnet-sdk-8.0.100-win-x64.exe檔案的總和檢查碼:
>certutil-hashfiledotnet-sdk-8.0.100-win-x64.exeSHA512SHA512hashofdotnet-sdk-8.0.100-win-x64.exe:248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518eCertUtil:-hashfilecommandcompletedsuccessfully.>(Get-FileHash.\dotnet-sdk-8.0.100-win-x64.exe-AlgorithmSHA512).Hash248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e將該總和檢查碼與下載網站所提供的值進行比較。
.NET版本資訊包含可用來驗證您下載檔案之總和檢查碼檔案的連結。下列步驟描述如何下載總和檢查碼檔案,並驗證.NET安裝二進位檔:
安裝.NETSDK之後,您可能會在嘗試執行.NETCLI命令時遇到問題。本節匯集了這些常見問題,並提供其解決方法。
您很可能同時安裝了x86(32位元)和x64(64位元)版本的.NETSDK。這會造成衝突。因為當您執行dotnet命令時,原本應解析為x64版本,卻解析成了x86版本。修正此問題的方法是將%PATH%變數調整成先解析x64版本。
確保智慧型應用程式控制(一項Windows功能)已關閉。不建議在用於開發的機器上啟用智慧型應用程式控制。「關閉」以外的任何設定都可能會對SDK效能造成負面影響。