https://learn.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies

每个版本的 .NET framework 都包含公共语言运行时 (CLR)、基类库和其他托管库。 本文按版本介绍了 .NET Framework 的关键功能,提供了有关基础 CLR 版本和相关开发环境的信息,并标识了 Windows 操作系统 (OS) 所安装的版本。

每个 .NET Framework 的新版本都会添加新功能,但保留早期版本中的功能。

备注

.NET Framework 每月提供一次安全性和可靠性 bug 修补程序。 .NET Framework 将继续包含在 Windows 中,我们没有删除它的计划。 无需迁移 .NET Framework 应用,但如果要进行新的开发,请使用 .NET 6 或更高版本。

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 ️ 2022 年 9 月版本(版本 22621)
2021 年 10 月 11 日版本(版本 22000)
10 2021 年 11 月更新
10 2021 年 5 月更新
10 2020 年 10 月更新
Windows Server Windows Server 2022
若要确定已安装的 .NET 版本,请使用以下 Release DWORD:

533320(Windows 11 2022 年 9 月版本)
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 中 20191
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
1 需要安装“.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 更新。

请参阅
版本兼容性
.NET Framework 官方支持策略
安装和卸载 .NET Framework 受阻疑难解答

[转帖]NET Framework 版本和依赖关系的更多相关文章

  1. .NET Framework 版本和依赖关系[微软官方文档]

    .NET Framework 版本和依赖关系 微软官方文档: https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/ver ...

  2. NET Framework 版本和依赖关系

    原文:https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies 每个版本的 ...

  3. [转帖] .NET FrameWork 版本的确定方法

    检测电脑安装的net framework版本   https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx To find .N ...

  4. 如何:确定已安装的 .NET Framework 版本

    用户可在他们的计算机上安装和运行 .NET Framework 的多个版本. 当你开发或部署应用时,你可能需要知道用户的计算机上安装了哪些 .NET Framework 版本. .NET Framew ...

  5. maven项目,去除jar包中的不想要的依赖关系(Document root element "beans", must match DOCTYPE root "null". )

    maven dependencies中并不会删除 以下方法maven dependencies中并不会删除,可能程序引入的时候,会去掉这种依赖(猜的) 解释: 就是说项目中要用到某一个a.jar包,通 ...

  6. 【译】Gradle 的依赖关系处理不当,可能导致你编译异常

    文章 | Ashesh Bharadwaj 翻译 | 承香墨影 授权 承香墨影 翻译.编辑并发布 在 Android Studio 中,Gradle 构建过程对于开发者来说,很大程度上是抽象的.作为一 ...

  7. maven项目,去除jar包中的不想要的依赖关系

    解释:就是说项目中要用到某一个a.jar包,通过maven引入了之后,也自动的导入了该jar包所依赖的包,这里就会存在一个问题,如果a.jar包依赖b.jar这个项目的1.0版本,可是我的项目中已经有 ...

  8. spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  9. [转] spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  10. [转帖].NET Framework各版本操作系统支持

    .NET Framework .NET版本 1.0 1.1 2.0 3.0 3.5 4.0 4.5 完整版本 1.0.3705.0 1.1.4322.573 2.0.50727.42 3.0.4506 ...

随机推荐

  1. Go 语言为什么很少使用数组?

    大家好,我是 frank,「Golang 语言开发栈」公众号作者. 01 介绍 在 Go 语言中,数组是一块连续的内存,数组不可以扩容,数组在作为参数传递时,属于值传递. 数组的长度和类型共同决定数组 ...

  2. 2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time, 分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠, 一位需要 付费 的油漆匠

    2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time, 分别表示给 n 堵不同的墙刷油漆需要的开销和时间.你有两名油漆匠, 一位需要 付费 的油漆匠 ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (172)-- 算法导论13.3 1题

    一.用go语言,在 RB-INSERT 的第 16 行,将新插人的结点 z 着为红色.注意到,如果将 z 着为黑色,则红黑树的性质4就不会被破坏.那么为什么不选择将 z 着为黑色呢? 文心一言: 在红 ...

  4. GaussDB(DWS)函数不同写法引发的结果差异

    本文分享自华为云社区<GaussDB(DWS)函数结果差异案例之greatest>,作者: 你是猴子请来的救兵吗. GaussDB(DWS)支持多种兼容模式,为了兼容目标数据库,各模式之间 ...

  5. 实践丨GaussDB(DWS)资源管理排队原理与问题定位

    摘要:GaussDB(DWS)提供了资源管理功能,用户可以根据自身业务情况对资源进行划分,将资源按需划分成不同的资源池,不同资源池之间资源互相隔离. 本文分享自华为云社区<GaussDB(DWS ...

  6. 华为AppCube通过中国信通院“低代码开发平台通用能力要求”评估!

    摘要:华为AppCube应用魔方顺利通过信通院评估,被认证为具备 "低代码开发平台通用能力"的企业服务平台. 本文分享自华为云社区<华为AppCube通过中国信通院" ...

  7. grpc双向流究竟是什么情况?2段代码告诉你

    摘要:为什么需要grpc双向流? 本文分享自华为云社区<grpc双向流究竟是什么情况?2段代码告诉你>,作者:breakDawn. 为什么需要grpc双向流? 有时候请求调用和返回过程,并 ...

  8. Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本

    Docker Jenkins 安装配置 Windows 2016 安装 Jenkins 前置条件可参考 Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包 Jen ...

  9. c#-微软2

    练习-编写第一个代码: 在第一次练习中你将使用c#将神圣的程序员用语打印到控制台的标准输出 编写第一行代码: 在软件开发者中,有这么一个传统,那就是将"Hello World!"这 ...

  10. 单位:MB、GB与MiB、GiB

    MB.GB与MiB.GiB的区别在于标准不同,MB使用的是十进制标准(SI标准),MiB使用的是二进制标准(IEC标准) 在工作中最好是先确定使用什么标准,防止出错 换算表: 1KB = 10^3 = ...