.NET Framework、.NET Core 和 .NET 5+ 的产品生命周期
本文整理记录了 .NET Framework、.NET Core 和 .NET 各个版本的产品支持周期和操作系统兼容性。
早于 .NET Framework 2.0 和 .NET Core 2.1 的 .NET 版本以及 .NET Core 2.2、.NET Core 3.0 已经停止了任何形式的支持,因此本文不做讨论。
.NET 版本说明
.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 的应用。(参见 版本 4.5 及更高版本的备注)
.NET Core 为一个全新的跨平台框架,支持 Windows、Linux 和 macOS 等多种平台,以 MIT 协议完全开源。.NET Core 最早于 2014 年公布,首个版本 .NET Core 1.0 发布于 2016 年。随着版本的演进,.NET Core 不断加入 .NET Framework 原有的功能,直到 .NET Core 3.1,完成这一进程。剩余少量 .NET Core 不支持的 .NET Framework 技术 不再向 .NET Core 移植。
.NET Core 3.1 之后,随着技术移植进程的结束,.NET Core 的后续版本将作为 .NET Framework 和 .NET Core 的继任者,移除 "Core" 字样直接称作 ".NET",版本号自 ".NET 5" 开始。因此,.NET Framework 4.8 将会是 .NET Framework 的最后一个版本。
.NET 支持政策
.NET Core 和 .NET 的版本类型
本节整理自 .NET Core 支持政策。
.NET Core/.NET 分为长期支持 (LTS) 版本和最新 (Current) 版本。自 .NET Core 2.2 起,两者的支持周期如下:
- LTS (Long Term Support): 在初始发布后的三年内受支持。
- Current:在初始发布后,直到下一个 Current 或 LTS 版本发布后的三个月内受支持。
.NET Core 和 .NET 发布节奏
本节整理自 .NET 5 简介
自 2020 年起,每年 11 月为 .NET 发布新的主要版本,版本号自 5.0 起递增。即 2020 年 11 月发布 .NET 5.0,2021 年 11 月发布 .NET 6.0,以此类推。
自 2021 年起,将隔年发布的主要版本标记为 LTS 版本(即偶数的主要版本为 LTS 版本,奇数的为 Current 版本)。
.NET Core 和 .NET 生命周期详情
本节整理自 .NET 5 简介 以及 .NET Core 支持政策,仅列出了生命周期尚未结束的版本。
| 版本 | 初始发布时间 | 支持级别 | 结束支持时间 |
|---|---|---|---|
| .NET 8 | 2023 年 11 月(预计) | LTS | 2025 年 11 月(预计) |
| .NET 7 | 2022 年 11 月(预计) | Current | 2023 年 2 月(预计) |
| .NET 6 | 2021 年 11 月(预计) | LTS | 2024 年 11 月(预计) |
| .NET 5 | 2020 年 11 月(预计) | Current | 2022 年 2 月(预计) |
| .NET Core 3.1 | 2019 年 12 月 3 日 | LTS | 2022 年 12 月 3 日 |
| .NET Core 2.1 | 2018 年 5 月 30 日 | LTS | 2021 年 8 月 21 日 |
.NET Framework 各版本支持政策
本节内容整理自 .NET Framework 生命周期常见问题。
- .NET Framework 4.5.2 及以上版本被定义为 Windows 操作系统的一个组件,与其父产品获得相同的生命周期,详见下节内容。
- .NET Framework 4、4.5 和 4.5.1 已于 2016 年 1 月 12 日停止支持,客户和开发人员必须就地更新到 .NET Framework 4.5.2 及以上版本,才能技术获得技术支持和安全更新。
- .NET Framework 3.5 SP1 在 Windows 10 v1809 和 Windows Server 2019 及以上版本中作为独立的产品存在,自 2018 年 10 月 2 日起获得 5 年主流支持和 5 年扩展支持。
- .NET Framework 3.5 SP1 在 Windows 10 v1809 和 Windows Server 2019 以前的操作系统中,作为操作系统的组件存在,其生命周期与其父产品相同。
- .NET Framework 2.0、3.0 和 3.5 已先后停止支持,客户和开发人员可就地更新到 .NET Framework 3.5 SP1,以便在后者的生命周期内获得技术支持和安全更新。由于 .NET Framework 3.5 依赖于 2.0 以及 3.0,因此 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2 组件在安装了 .NET Framework 3.5 SP1 环境当中得到支持。
.NET Framework 版本和操作系统版本的关系
本节内容整理自 .NET Framework 版本和依赖关系 以及 .NET Framework 系统需求。
.NET Framework 4.5 预装在了 Windows 8 和 Windows Server 2012 中。此后,每个版本的 Windows 操作系统都包含了特定版本的 .NET Framework 4.x。
.NET Framework 4.8 预装在了 Windows 10 v1903 (build 18362) 及以上版本中。
.NET Framework 4.6.1 及以上版本可以安装在 Windows 7 和 Windows Server 2008 R2 SP1 及以上版本的 Windows 操作系统中,但不可以安装低于预装于操作系统中的版本。
.NET Framework 4.6 为 Windows Vista 和 Windows 2008 SP2 支持的最高版本。
.NET Framework 4.0.3 为 Windows XP 和 Windows Server 2003 支持的最高版本。(参见 在 Windows XP 和 Windows Server 2003 上安装 .NET Framework)
- 注意:.NET Framework 4、.NET Framework 4.0.3 和 Windows XP、Windows Server 2003 已经停止支持,不会再接收任何形式的安全更新。
.NET Framework 3.5 SP1 在 Windows XP 和 Windows Server 2013 及以上版本的 Windows 操作系统中,可以使用 安装程序 进行安装。
.NET Framework 3.5 SP1 在 Windows 10,Window Server 2016 和 Windows Server 2019 中可以通过控制面板直接启用。
.NET Framework、.NET Core 和 .NET 5+ 的产品生命周期的更多相关文章
- Unity 3D Framework Designing(3)——构建View和ViewModel的生命周期
> 对于一个View而言,本质上是一个MonoBehaviour.它本身就具备生命周期这个概念,比如,Awake,Start,Update,OnDestory等.这些是非常好的方法,可以让开发者 ...
- 第三节:EF Core上下文DbContext相关配置和生命周期
一. 配置相关 1. 数据库连接字符串的写法 (1).账号密码:Server=localhost;Database=EFDB01;User ID=sa;Password=123456; (2).win ...
- 【Spring Framework】Spring IOC详解及Bean生命周期详细过程
Spring IOC 首先,在此之前,我们就必须先知道什么是ioc,ioc叫做控制反转,也可以称为依赖注入(DI),实际上依赖注入是ioc的另一种说法, 1.谁控制谁?: 在以前,对象的创建和销毁都是 ...
- 【Framework】深入研究Asp.net页面的生命周期
介绍 Asp.net是微软.Net战略的一个组成部分.它相对以前的Asp有了很大的发展,引入了许多的新机制.本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好.更灵活地操 ...
- 在.net core自带DI中服务生命周期 Transient,Scoped,Singleton
只要是透过WebHost产生实例的类型,都可以在构造方法注入.所以Controller.View.Filter.Middleware或自定义的Service等都可以被注入. Transient是瞬时的 ...
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...
- ASP.NET Core 开发 - Entity Framework (EF) Core
EF Core 1.0 Database First http://www.cnblogs.com/linezero/p/EFCoreDBFirst.html ASP.NET Core 开发 - En ...
- Entity Framework (EF) Core工具创建一对多和多对多的关系
一. EntirtyFramework(EF)简介 EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术,微软官方提供的ORM工具让开发人员节省数据库访问的代码时间 ...
- C# .NET .NET Framework .NET CORE 等的关系简介
2019新的一年,祝大家新年快乐,工作生活一帆风顺,心想事成!诸事大吉! 这篇文章是我今年的第一篇博客,主题是:C# .NET .NET Framework .NET CORE 等这些名词之 ...
随机推荐
- PHP 获取上个月1号和上个月最后一天时间戳,下个月1号和下个月最后一天的时间戳
// 上个月的时间戳 $thismonth = date('m'); $thisyear = date('Y'); if ($thismonth == 1) { $lastmonth = 12; $l ...
- Postgre数据库自定义函数
自定函数 1.查询函数: select prosrc from pg_proc where proname='test' 参数说明 : test 为函数名. 2.删除函数: drop function ...
- PHP常量和数据类型
引言 先用一个题来作为开端:PHP字符串的三种定义方式是什么?有什么区别? 它们分别是单引号'',双引号"",newdoc和heredoc. 区别是:单引号不能解析变量,不能解析转 ...
- Java实现 蓝桥杯 算法提高 分解质因数(暴力)
试题 算法提高 分解质因数 问题描述 给定一个正整数n,尝试对其分解质因数 输入格式 仅一行,一个正整数,表示待分解的质因数 输出格式 仅一行,从小到大依次输出其质因数,相邻的数用空格隔开 样例输入 ...
- Java实现 LeetCode 754 到达终点数字(暴力+反向)
754. 到达终点数字 在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),可以走 n 步. 返回到达终点需要的最小移动次数 ...
- Java实现 蓝桥杯VIP 算法提高 最小乘积(提高型)
算法提高 最小乘积(提高型) 时间限制:1.0s 内存限制:512.0MB 问题描述 给两组数,各n个. 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小.要求程序输出这个最 ...
- java实现第七届蓝桥杯有奖竞猜
有奖竞猜 题目描述 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为 ...
- 【CSS】常用色值
常用颜色: 嫣红(red):#e54d42 桔橙(orange):#f37b1d 明黄(yellow):#fbbd08 橄榄(olive):#8dc63f 森绿(green):#39b54a 天青(c ...
- 【Spring注解驱动开发】组件注册-@ComponentScan-自动扫描组件&指定扫描规则
写在前面 在实际项目中,我们更多的是使用Spring的包扫描功能对项目中的包进行扫描,凡是在指定的包或子包中的类上标注了@Repository.@Service.@Controller.@Compon ...
- js中有遍历作用相关的方法详解总结
题外话 os:个人笔记: 大概接触过map, foreach, for, filter, findIn, includes等等 字符串检索 .indexOf() 返回某个指定字符串值在字符串中首次出现 ...