.NET Framework 版本和依赖关系
每个版本的 .NET framework 都包含公共语言运行时 (CLR)、基类库和其他托管库。 本文按版本介绍了 .NET Framework 的关键功能,提供了有关基础 CLR 版本和相关开发环境的信息,并标识了 Windows 操作系统 (OS) 所安装的版本。
每个 .NET Framework 的新版本都会添加新功能,但保留早期版本中的功能。
注意
.NET Framework 可独立于 Windows 更新提供服务,并提供安全性和可靠性 bug 修复。 一般来说,安全更新会每季度发布一次。 .NET Framework 将继续包含在 Windows 中,我们没有删除它的计划。 无需迁移 .NET Framework 应用,但如果要进行新的开发,请使用 .NET 8 或更高版本。
CLR 由其自己的版本号标识。 .NET Framework 版本号在每次发布时都会递增,但 CLR 版本并不总是递增的。 例如,.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 版本历史,并将每个版本与 Visual Studio、Windows 和 Windows Server 相关联。 Visual Studio 支持多目标功能,因此你将不会限于仅使用列出的 .NET Framework 版本。
- 复选标记图标 ✔️ 表示默认安装 .NET Framework 的操作系统版本。
- 加号图标 ➕ 表示 .NET Framework 未安装但可以安装的操作系统版本。
- 星号 * 表示必须在控制面板中(如果是 Windows Server,则通过服务器管理器)启用 .NET Framework(无论是否预安装)的操作系统版本。
跳转到:
- .NET Framework 4.8.1
- .NET Framework 4.8
- .NET Framework 4.7.2
- .NET Framework 4.7.1
- .NET Framework 4.7
- .NET Framework 4.6.2
- .NET Framework 4.6.1
- .NET Framework 4.6
- .NET Framework 4.5.2
- .NET Framework 4.5.1
- .NET Framework 4.5
- .NET Framework 4
- .NET Framework 3.5
- .NET Framework 3.0
- .NET Framework 2.0
- .NET Framework 1.1
- .NET Framework 1.0
.NET Framework 4.8.1
版本 | |
---|---|
CLR | 4 |
Windows | ✔️ 2023 年 10 月 11 日版本(版本 22631) ✔️ 2022 年 9 月 11 日版本(版本 22621) ➕ 2021 年 10 月 11 日版本(版本 22000) ➕ 10 2022 更新 (22H2) ➕ 10 2021 年 11 月更新 ➕ 10 2021 年 5 月更新 ➕ 10 2020 年 10 月更新 |
Windows Server | ➕ Windows Server 2022 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 533320(2022 年 9 月版本 Windows 11 和 2023 年 10 月版本 Windows 11)
- 533325(所有其他 OS 版本)
有关详细信息,请参阅说明。
.NET Framework 4.8
版本 | |
---|---|
CLR | 4 |
Windows | ✔️ 2021 年 10 月 11 日版本(版本 22000) ✔️ 10 2021 年 11 月更新 ✔️ 10 2021 年 5 月更新 ✔️ 10 2020 年 10 月更新 ✔️ 10 2020 年 5 月更新 ✔️ 10 2019 年 11 月更新 ✔️ 10 2019 年 5 月更新 ➕ 10 2018 年 10 月更新(版本 1809) ➕ 10 2018 年 4 月更新(版本 1803) ➕ 10 秋季创意者更新(版本 1709) ➕ 10 创意者更新(版本 1703) ➕ 10 周年更新(版本 1607) ➕ 8.1 ➕7 |
Windows Server | ✔️ Windows Server 2022 ➕ Windows Server 2019 ➕ Windows Server 版本 1809 ➕ Windows Server 版本 1803 ➕ 2016 ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 528449(Windows 11 和 Windows Server 2022)
- 528372(Windows 10 2020 年 5 月更新、Windows 10 2020 年 10 月更新和 Windows 10 2021 年 5 月更新)
- 528040(Windows 10 2019 年 5 月更新和 Windows 10 2019 年 11 月更新)
- 528049(所有其他 OS 版本)
有关详细信息,请参阅说明。
.NET Framework 4.7.2
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 2019† |
Windows | ✔️ 10 2018 年 10 月更新(版本 1809) ✔️ 10 2018 年 4 月更新(版本 1803) ➕ 10 秋季创意者更新(版本 1709) ➕ 10 创意者更新(版本 1703) ➕ 10 周年更新(版本 1607) ➕ 8.1 ➕7 |
Windows Server | ✔️ Windows Server 2019 ✔️ Windows Server 版本 1809 ✔️ Windows Server 版本 1803 ➕ Windows Server 版本 1709 ➕ 2016 ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 |
†需要安装“.NET 桌面开发”、“ASP.NET 和 Web 开发”、“Azure 开发”、“Office/SharePoint 开发”、“使用 .NET 的移动开发”或“.NET Core 跨平台开发”工作负荷。
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 461814(Windows 10 2018 年 10 月更新)
- 461808(Windows 10 2018 年 4 月更新和 Windows Server 版本 1803)
- 461814(所有其他 OS 版本)
有关详细信息,请参阅说明。
.NET Framework 4.7.1
版本 | |
---|---|
CLR | 4 |
Windows | ✔️ 10 秋季创意者更新(版本 1709) ➕ 10 创意者更新(版本 1703) ➕ 10 周年更新(版本 1607) ➕ 8.1 ➕7 |
Windows Server | ➕ Windows Server 版本 1803 ✔️ Windows Server 版本 1709 ➕ 2016 ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 461308(Windows 10 创意者更新和 Windows Server 版本 1709)
- 461310(所有其他 OS 版本)
有关详细信息,请参阅说明。
.NET Framework 4.7
版本 | |
---|---|
CLR | 4 |
Windows | ✔️ 10 创意者更新(版本 1703) ➕ 10 周年更新(版本 1607) ➕ 8.1 ➕7 |
Windows Server | ➕ 2016 ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 460798(Windows 10 创意者更新)
- 460805(所有其他 OS 版本)
有关详细信息,请参阅说明。
.NET Framework 4.6.2
版本 | |
---|---|
CLR | 4 |
Windows | ✔️ 10 周年更新(版本 1607) ➕ 10 十一月更新(版本 1511) ➕ 10 ➕ 8.1 ➕ 7 |
Windows Server | ✔️ 2016 ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 ➕ 2008 SP2 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 394802(Windows 10 周年更新和 Windows Server 2016)
- 394806(所有其他操作系统版本)
有关详细信息,请参阅说明。
.NET Framework 4.6.1
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 20171 |
Windows | ✔️ 10 十一月更新(版本 1511) ➕ 10 ➕ 8.1 ➕ 8 ➕ 7 |
Windows Server | ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 |
1 需要安装“.NET 桌面开发”、“ASP.NET 和 Web 开发”、“Azure 开发”、“Office/SharePoint 开发”、“使用 .NET 的移动开发”或“.NET Core 跨平台开发”工作负荷 。
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 394254 (Windows 10 November Update)
- 394271(所有其他操作系统版本)
有关详细信息,请参阅说明。
.NET Framework 4.6
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 2015 |
Windows | ✔️ 10 ➕ 8.1 ➕ 8 ➕ 7 ➕ Vista |
Windows Server | ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 ➕ 2008 SP2 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 393295 (Windows 10)
- 393297(所有其他操作系统版本)
有关详细信息,请参阅说明。
.NET Framework 4.5.2
版本 | |
---|---|
CLR | 4 |
Windows | ➕ 8.1 ➕ 8 ➕ 7 ➕ Vista |
Windows Server | ➕ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 ➕ 2008 SP2 |
若要确定已安装的 .NET 版本,请使用 Release
DWORD 379893。 有关详细信息,请参阅说明。
.NET Framework 4.5.1
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 2013 |
Windows | ✔️ 8.1 ➕ 8 ➕ 7 ➕ Vista |
Windows Server | ✔️ 2012 R2 ➕ 2012 ➕ 2008 R2 SP1 ➕ 2008 SP2 |
若要确定已安装的 .NET 版本,请使用以下 Release
DWORD:
- 378675 (Windows 8.1)
- 378758(所有其他 Windows 版本)
有关详细信息,请参阅说明。
重要
从 Visual Studio 2022 开始,Visual Studio 不再包括适用于 .NET Framework 4.0 - 4.5.1 的 .NET Framework 组件,因为这些版本不再受支持。 Visual Studio 2022 及更高版本无法生成面向 .NET Framework 4.0 到 .NET Framework 4.5.1 的应用。 如需继续生成这些应用,可以使用 Visual Studio 2019 或更低版本。
.NET Framework 4.5
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 2012 |
Windows | ✔️ 8 ➕ 7 ➕ Vista |
Windows Server | ✔️ 2012 ➕ 2008 R2 SP1 ➕ 2008 SP2 |
若要确定已安装的 .NET 版本,请使用 Release
DWORD 378389。 有关详细信息,请参阅说明。
重要
从 Visual Studio 2022 开始,Visual Studio 不再包括适用于 .NET Framework 4.0 - 4.5.1 的 .NET Framework 组件,因为这些版本不再受支持。 Visual Studio 2022 及更高版本无法生成面向 .NET Framework 4.0 到 .NET Framework 4.5.1 的应用。 如需继续生成这些应用,可以使用 Visual Studio 2019 或更低版本。
.NET Framework 4
版本 | |
---|---|
CLR | 4 |
包含于 Visual Studio 中 | 2010 |
Windows | ➕ 7 ➕ Vista |
Windows Server | ➕ 2008 R2 SP1 ➕ 2008 SP2 ➕ 2003 |
若要确定已安装的 .NET 版本,请参阅说明。
重要
从 Visual Studio 2022 开始,Visual Studio 不再包括适用于 .NET Framework 4.0 - 4.5.1 的 .NET Framework 组件,因为这些版本不再受支持。 Visual Studio 2022 及更高版本无法生成面向 .NET Framework 4.0 到 .NET Framework 4.5.1 的应用。 如需继续生成这些应用,可以使用 Visual Studio 2019 或更低版本。
.NET Framework 3.5
新增功能:
- LINQ
- 表达式树
- 改进了对 AJAX 开发的 ASP.NET 支持
- HashSet 集合
- DateTimeOffset
- WCF 和 WF 集成
- 对等网络
- 扩展性的加载项
版本 | |
---|---|
CLR | 2.0 |
包含于 Visual Studio 中 | 2008 |
Windows | ✔️ 10* ✔️ 8.1* ✔️ 8* ✔️ 7 ➕ Vista |
Windows Server | ➕ Windows Server 版本 1803* ➕ Windows Server 版本 1709* ➕ 2016* ➕ 2012 R2* ➕ 2012* ✔️2008 R2 SP1* ➕ 2008 SP2 ➕ 2003 |
若要确定已安装的 .NET 版本,请参阅说明。
.NET Framework 3.0
新增功能:
- Windows Presentation Foundation
- Windows Communication Foundation
- Windows Workflow Foundation
- Windows CardSpace
版本 | |
---|---|
CLR | 2.0 |
Windows | ✔️ Vista |
Windows Server | ✔️ 2008 R2 SP1* ✔️ 2008 SP2* ➕ 2003 |
若要确定已安装的 .NET 版本,请参阅说明。
.NET Framework 2.0
新增功能:
- 泛型
- 调试器编辑并继续
- 提高了可伸缩性和性能
- ClickOnce 部署
- 在 ASP.NET 2.0 中,提供了新控件以及对各种浏览器的支持
- 64 位支持
版本 | |
---|---|
CLR | 2.0 |
包含于 Visual Studio 中 | 2005 |
Windows | 不适用 |
Windows Server | ✔️ 2008 R2 SP1 ✔️ 2008 SP2 ✔️ 2003 |
若要确定已安装的 .NET 版本,请参阅说明。
.NET Framework 1.1
新增功能:
- ASP.NET 移动控件
- 并行执行
- IPv6 支持
版本 | |
---|---|
CLR | 1.1 |
包含于 Visual Studio 中 | 2003 |
Windows | 不适用 |
Windows Server | ✔️ 2003 |
若要确定已安装的 .NET 版本,请参阅说明。
.NET Framework 1.0
版本 | |
---|---|
CLR | 1.0 |
包含于 Visual Studio 中 | Visual Studio .NET |
Windows | 不适用 |
Windows Server | 不适用 |
若要确定已安装的 .NET 版本,请参阅说明。
注意
- 必须通过控制面板(适用于 Windows)或服务器管理器(适用于 Windows Server)在此操作系统上启用 .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、4.7.2 和 4.8 是对 .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、4.7.2 或 4.8 的任何计算机。
在 Visual Studio 中,可以选择 .NET Framework 4.5.1 作为项目的目标框架,以将项目编译为 .NET Framework 4.5.1 程序集或可执行文件。 仅在已安装 .NET Framework 4.5.1 或更高版本的计算机上运行此程序集或可执行文件。 将阻止面向 .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 的支持的信息,请参阅 .NET 网站上的 .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 及更高版本(.NET Framework 4.5、4.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2 和 4.8)也表示单个安装的连续层。 从 .NET Framework 4 开始,可使用进程内并行托管在单个进程中运行 CLR 的多个版本。 有关详细信息,请参阅程序集和并行执行。
此外,如果应用面向 2.0、3.0 或 3.5 版,你的用户可能需要先在 Windows 8、Windows 8.1 或 Windows 10 计算机上启用 .NET Framework 3.5,然后才能运行应用。 有关详细信息,请参阅在 Windows 11、Windows 10、Windows 8.1 和 Windows 8 上安装 .NET Framework 3.5。
重要
从 Visual Studio 2022 开始,Visual Studio 不再包括适用于 .NET Framework 4.0 - 4.5.1 的 .NET Framework 组件,因为这些版本不再受支持。 Visual Studio 2022 及更高版本无法生成面向 .NET Framework 4.0 到 .NET Framework 4.5.1 的应用。 如需继续生成这些应用,可以使用 Visual Studio 2019 或更低版本。
后续步骤
如果不熟悉 .NET Framework,请参阅概述以大致了解关键概念和功能。
有关 .NET Framework 4.5 及其单点版本中的新功能和改进,请参阅 .NET Framework 中的新增功能。
有关将应用迁移到较新版本的 .NET Framework 的信息,请参阅迁移指南。
有关确定计算机上安装了哪些版本或更新的信息,请参阅如何:确定安装了哪些 .NET Framework 版本和如何:确定安装了哪些 .NET Framework 更新。