每個版本的 .NET framework 都包含公共語言運行時 (CLR)、基類庫和其他托管庫。 本主題按版本介紹了 .NET Framework 的關鍵功能,提供了有關基礎 CLR 版本和相關開發環境的信息,並標識了 Windows 操作系統所安裝的版本。 備註 若要瞭解如何下載和安裝 .NET ...
原文:
https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies
每個版本的 .NET framework 都包含公共語言運行時 (CLR)、基類庫和其他托管庫。 本主題按版本介紹了 .NET Framework 的關鍵功能,提供了有關基礎 CLR 版本和相關開發環境的信息,並標識了 Windows 操作系統所安裝的版本。
備註
若要瞭解如何下載和安裝 .NET Framework,請參閱安裝面向開發人員的 .NET Framework。
下表總結了 .NET Framework 版本歷史,並將每個版本與 Visual Studio、Windows 和 Windows Server 相關聯。 請註意,Visual Studio 提供了多目標功能,因此你將不會限於僅使用列出的 .NET Framework 版本。
每個新版本的 .NET Framework 都會保留早期版本中的功能並會添加新功能。 CLR 由其自己的版本號標識。 雖然 CLR 版本並不總是遞增的,但 .NET Framework 版本號在每次發佈時都會遞增。 例如,.NET Framework 4、4.5 和更高版本包含 CLR 4,而 .NET Framework 2.0、3.0 和 3.5 包含 CLR 2.0。 (沒有版本 3 的 CLR。)
有關受支持操作系統的完整列表,請參閱系統要求。 有關下載,請參閱安裝面向開發人員的 .NET Framework。 有關確定電腦上已安裝哪些 .NET Framework 版本,請參閱如何:確定安裝了哪些 .NET Framework 版本。
在表中,帶有標記 ✓ 的操作系統版本上安裝的 .NET Framework 版本必須在控制面板中啟用(適用於 Windows)或通過伺服器管理器啟用(適用於 Windows Server),該標記顯示在“包含在/可安裝在 Windows 中”和“包含在/可安裝在 Windows Server 中”列。
.NET Framework 版本 | CLR 版本 | 功能 | 包含在 Visual Studio 版本中 | ✓ 包括在內 + 可在其上安裝 Windows | ✓ 包括在內 + 可在其上安裝 Windows Server | 確定已安裝的 .NET 版本 |
---|---|---|---|---|---|---|
4.7.1 | 4 | - 支持 .NET Standard 2.0。 - 支持配置生成器,允許在運行時創建配置文件。 - 運行時功能檢查,使你能夠確定運行時環境中是否支持預定義的功能。 - 可序列化值元組。 - 垃圾回收性能改進。 - 支持可移植的 PDB。 - 對 Message.HashAlgorithm 的 SHA-2 支持。 - 支持使用 HttpCookie.TryParse 方法分析 ASP.NET cookie。 - 支持針對 ASP.NET 窗體身份驗證憑據的 SHA-2 哈希處理。 - 針對應用開發者的大量輔助功能改進;請參閱 .NET Framework 中輔助功能的新增功能。 |
✓ 10 Fall Creators Update + 10 創意者更新 + 10 周年更新 + 8.1 +7 |
+ 2016 + 2012 R2 + 2012 + 2008 R2 SP1 |
使用 Release DWORD:- 461308(Windows 10 創意者更新) - 461310(所有其他操作系統版本) (請參閱說明) |
|
4.7 | 4 | - 支持由操作系統提供的 TLS 支持級別。 - 能夠為 TLS1.1 或 TLS1.2 配置預設的消息安全設置。 - 提高了 DataContractJsonSerializer 的可靠性。 - 提高了 WCF 應用程式序列化和反序列化的可靠性。 - 能夠擴展 ASP.NET 對象緩存。 - 支持基於 WM_POINTER Windows 消息(而不是 WPF 應用程式的 Windows Ink 服務平臺 (WISP))的觸控/觸筆堆疊。 - 使用視窗的列印文檔包 API 在 WPF 應用程式中進行列印。 - 增強了對 Windows 窗體應用程式(在 Windows 10 創意者更新上運行)的高 DPI 和多監視器支持。 |
✓ 10 創意者更新 + 10 周年更新 + 8.1 +7 |
+ 2016 + 2012 R2 + 2012 + 2008 R2 SP1 |
使用 Release DWORD:- 460798(Windows 10 創意者更新) - 460805(所有其他操作系統版本) (請參閱說明) |
|
4.6.2 | 4 | - 加密增強功能,包括對包含 FIS 186-3 DSA 的 X509 證書的支持、對持久化密鑰對稱加密的支持、對 SHA-2 哈希的 SignedXml 支持,提高了 ECDiffieHellman 密鑰派生常式輸入的清晰度。 - 對於 Windows Presentation Foundation (WPF) 應用,支持屏幕鍵盤和按監視器 DPI 感知。 - 對 TLS 1.1 和 TLS 1.2 協議的 ClickOnce 支持。 - 支持將 Windows 窗體和 WPF 應用轉換為 UWP 應用。 |
✓ 10 周年更新 + 10 十一月更新 + 10 + 8.1 + 7 |
✓ 2016 + 2012 R2 + 2012 + 2008 R2 SP1 |
使用 Release DWORD:- 394802(Windows 10 周年更新) - 394806(所有其他操作系統版本) (請參閱說明) |
|
4.6.1 | 4 | - 對包含 ECDSA 的 X509 證書的支持 - 對 ADO.NET 中的硬體保護密鑰的始終加密支持 - WPF 中的拼寫檢查改進 - 更多... |
✓ 10 November Update + 10 + 8.1 + 8 + 7 |
+ 2012 R2 + 2012 + 2008 R2 SP1 |
使用 Release DWORD:- 394254(Windows 10 十一月更新) - 394271(所有其他操作系統版本) (請參閱說明) |
|
4.6 | 4 | - 使用 .NET Native 編譯 - ASP.NET Core 5 - 事件跟蹤改進 - 對頁面編碼的支持 - 更多... |
2015,儘管部分 .NET 庫可在 NuGet 上獲取。 有關詳細信息,請參閱 .NET Framework 和帶外版本。 | ✓ 10 + 8.1 + 8 + 7 + Vista |
+ 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 |
使用 Release DWORD:- 393295 (Windows 10) - 393297(所有其他操作系統版本) (請參閱說明) |
4.5.2 | 4 | - 用於事務系統和 ASP.NET 的新 API - Windows 窗體控制項中的系統 DPI 調整大小功能 - 分析改進 - ETW 和壓力日誌記錄改進 - 更多... |
- | + 8.1 + 8 + 7 + Vista |
+ 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 |
使用 Release DWORD:379893(請參閱說明) |
4.5.1 | 4 | - 對 Windows Phone 應用商店應用的支持 - 自動綁定重定向 - 性能和調試改進 - 更多... |
2013 | ✓ 8.1 + 8 + 7 + Vista |
✓ 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 |
使用 Release DWORD:- 378675 (Windows 8.1) - 378758(所有其他) (請參閱說明) |
4.5 | 4 | - 對 Windows 應用商店應用的支持 - WPF、WCF、WF、ASP.NET 更新 - 更多... |
2012 | ✓ 8 + 7 + Vista |
✓ 2012 + 2008 R2 SP1 + 2008 SP2 |
使用 Release DWORD:378389(請參閱說明) |
4 | 4 | - 擴展的基類庫 - 使用可移植類庫的跨平臺開發 - MEF、DLR、代碼協定 - 更多... |
2010 | + 7 + Vista |
+ 2008 R2 SP1 + 2008 SP2 + 2003 |
請參閱說明 |
3.5 | 2.0 | - 啟用 AJAX 的網站 - LINQ - 動態數據 - 更多... |
2008 | ✓ 10✓ 8.1 ✓ 8* ✓ 7 + Vista |
✓2008 R2 SP1 + 2012 R2 + 2012 + 2008 SP2 + 2003 |
請參閱說明 |
3.0 | 2.0 | - WPF、WCF、WF、CardSpace | - | ✓ Vista | ✓ 2008 R2 SP1 ✓ 2008 SP2* + 2003 |
請參閱說明 |
2.0 | 2.0 | - 泛型 - ASP.NET 添加項 - 更多... |
2005 | - | ✓ 2008 R2 SP1 ✓ 2008 SP2 ✓ 2003 |
請參閱說明 |
1.1 | 1.1 | - ASP.NET 和 ADO.NET 更新 - 並行執行 - 更多... |
2003 | - | ✓ 2003 | 請參閱說明 |
1.0 | 1.0 | .NET Framework 的第一個版本。 | Visual Studio .NET | - | - | 請參閱說明 |
通常,你不應卸載電腦上安裝的 .NET Framework 的任何版本,因為你使用的應用程式可能依賴於特定版本,如果你移除該版本,則應用程式可能會中斷。 你可以在一臺電腦上同時載入 .NET Framework 的多個版本。 這意味著,你可以安裝 .NET Framework 而無需卸載早期版本。 有關詳細信息,請參閱入門。
面向並運行 .NET Framework 版本 4.5 和更高版本的應用
.NET Framework 4.5 是替代電腦上的 .NET Framework 4 的就地更新,同樣,.NET Framework 4.5.1 4.5.2、4.6、4.6.1、4.6.2、4.7 和 4.7.1 是對 .NET Framework 4.5 的就地更新,這意味著它們將使用相同的運行時版本,但是程式集版本會更新並包括新類型和成員。 在安裝其中某個更新後,你的 .NET Framework 4、.NET Framework 4.5、.NET Framework 4.6 或 .NET Framework 4.7 應用應繼續運行,而無需重新編譯。 但是,反過來則不行。 建議不要在較早版本的 .NET Framework 上運行面向更高版本的 .NET Framework 的應用。 例如,我們建議你不要在 .NET Framework 4.5 上運行面向 .NET Framework 4.6 的應用。 以下準則將適用:
-
在 Visual Studio 中,可以選擇 .NET Framework 4.5 作為項目的目標框架(這將設置 GetReferenceAssemblyPaths.TargetFrameworkMoniker屬性)以將項目編譯為 .NET Framework 4.5 程式集或可執行文件。 此程式集或可執行文件隨後可用於安裝了 .NET Framework 4.5、4.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7 或 4.7.1 的任何電腦。
-
在 Visual Studio 中,可以選擇 .NET Framework 4.5.1 作為項目的目標框架(這將設置 GetReferenceAssemblyPaths.TargetFrameworkMoniker 屬性)以將項目編譯為 .NET Framework 4.5.1 程式集或可執行文件。 此程式集或可執行文件應只在安裝了 .NET Framework 4.5.1 或 .NET Framework 更高版本的電腦上運行。 將阻止面向 .NET Framework 4.5.1 的可執行文件在僅安裝了 .NET Framework 的早期版本(例如 .NET Framework 4.5)的電腦上運行,並且系統會提示用戶安裝 .NET Framework 4.5.1。 此外,不應從面向 .NET Framework 的早期版本(例如 .NET Framework 4.5)的應用中調用 .NET Framework 4.5.1 程式集。
此處使用的 .NET Framework 4.5.1 和 .NET Framework 4.5 僅作為示例。 此原則適用於任意滿足以下條件的應用:應用所面向的 .NET framework 版本高於運行該應用的系統上的 .NET framework 版本。
.NET Framework 中的某些更改可能需要更改應用代碼;請先參閱應用程式相容性,然後再使用 .NET Framework 4.5 或更高版本運行現有應用。 若要瞭解如何安裝當前版本,請參閱安裝面向開發人員的 .NET Framework。 有關對 .NET Framework 的支持的信息,請參閱 Microsoft 支持網站上的 Microsoft .NET Framework 支持生命周期策略。
以針對早期版本的應用程式為目標並運行這些應用程式
.NET Framework 版本 2.0、3.0 和 3.5 是使用同一 CLR 版本 (CLR 2.0) 生成的。 這些版本表示單個安裝的連續層。 每個版本將基於早期版本以增量方式生成。 無法在電腦上並行運行版本 2.0、3.0 和 3.5。 在安裝 3.5 版時,你將自動獲得 2.0 和 3.0 層,並且為版本 2.0、3.0 和 3.5 生成的應用程式均可在 3.5 版上運行。 但是,.NET Framework 4 會結束此分層方法。 從 .NET Framework 4 開始,可使用進程內並行承載在單個進程中運行 CLR 的多個版本。 有關詳細信息,請參閱程式集和並行執行。
此外,如果你的應用程式面向 2.0、3.0 或 3.5 版,你的用戶可能需要先在 Windows 8 或 Windows 8.1電腦上啟用 .NET Framework 3.5,然後才能運行應用程式。 有關詳細信息,請參閱在 Windows 10、Windows 8.1 和 Windows 8 上安裝 .NET Framework 3.5。
後續步驟
-
如果不熟悉 .NET Framework,請參閱概述以大致瞭解關鍵概念和功能。
-
有關 .NET Framework 4.5 及其單點版本中的新功能和改進,請參閱 .NET Framework 中的新增功能。
-
有關將應用從 .NET Framework 4 遷移到 .NET Framework 4.5 及其單點版本的信息,請參閱遷移指南。
-
有關確定電腦上安裝了哪些版本或更新的信息,請參閱如何:確定安裝了哪些 .NET Framework 版本和如何:確定安裝了哪些 .NET Framework 更新。
請參閱
版本相容性
Microsoft .NET Framework 支持生命周期策略
安裝和卸載 .NET Framework 受阻疑難解答
註冊表版本位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full中Release值