原文: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 | 使用 ReleaseDWORD:- 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 | 使用 ReleaseDWORD:- 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 | 使用 ReleaseDWORD:- 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 | 使用 ReleaseDWORD:- 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 | 使用 ReleaseDWORD:- 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 | 使用 ReleaseDWORD:379893(请参阅说明) |
4.5.1 | 4 | - 对 Windows Phone 应用商店应用的支持- 自动绑定重定向- 性能和调试改进- 更多... | 2013 | ✓ 8.1+ 8+ 7+ Vista | ✓ 2012 R2+ 2012+ 2008 R2 SP1+ 2008 SP2 | 使用 ReleaseDWORD:- 378675 (Windows 8.1)- 378758(所有其他)(请参阅说明) |
4.5 | 4 | - 对 Windows 应用商店应用的支持- WPF、WCF、WF、ASP.NET 更新- 更多... | 2012 | ✓ 8+ 7+ Vista | ✓ 2012+ 2008 R2 SP1+ 2008 SP2 | 使用 ReleaseDWORD: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 的就地更新,同样,.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 的应用。 以下准则将适用:
.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。
版本兼容性 Microsoft .NET Framework 支持生命周期策略 安装和卸载 .NET Framework 受阻疑难解答
注册表版本位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full中Release值