本文整理记录了 .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+ 的产品生命周期的更多相关文章

  1. Unity 3D Framework Designing(3)——构建View和ViewModel的生命周期

    > 对于一个View而言,本质上是一个MonoBehaviour.它本身就具备生命周期这个概念,比如,Awake,Start,Update,OnDestory等.这些是非常好的方法,可以让开发者 ...

  2. 第三节:EF Core上下文DbContext相关配置和生命周期

    一. 配置相关 1. 数据库连接字符串的写法 (1).账号密码:Server=localhost;Database=EFDB01;User ID=sa;Password=123456; (2).win ...

  3. 【Spring Framework】Spring IOC详解及Bean生命周期详细过程

    Spring IOC 首先,在此之前,我们就必须先知道什么是ioc,ioc叫做控制反转,也可以称为依赖注入(DI),实际上依赖注入是ioc的另一种说法, 1.谁控制谁?: 在以前,对象的创建和销毁都是 ...

  4. 【Framework】深入研究Asp.net页面的生命周期

    介绍 Asp.net是微软.Net战略的一个组成部分.它相对以前的Asp有了很大的发展,引入了许多的新机制.本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好.更灵活地操 ...

  5. 在.net core自带DI中服务生命周期 Transient,Scoped,Singleton

    只要是透过WebHost产生实例的类型,都可以在构造方法注入.所以Controller.View.Filter.Middleware或自定义的Service等都可以被注入. Transient是瞬时的 ...

  6. 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 ...

  7. 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 ...

  8. Entity Framework (EF) Core工具创建一对多和多对多的关系

     一. EntirtyFramework(EF)简介 EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术,微软官方提供的ORM工具让开发人员节省数据库访问的代码时间 ...

  9. C# .NET .NET Framework .NET CORE 等的关系简介

    2019新的一年,祝大家新年快乐,工作生活一帆风顺,心想事成!诸事大吉! 这篇文章是我今年的第一篇博客,主题是:C#  .NET  .NET Framework   .NET CORE  等这些名词之 ...

随机推荐

  1. APM 上报信息分析与应用

    在入正题之前我们再回顾下它的架构图: 本文章主要分析AMP各索引的作用,与及结合1.7环境上已接入的服务数据对比后,对索引中的主要字段进行解析.文章分为四个小章节. 1.索引类型 apm索引分为四种类 ...

  2. 详解python操作生成excel表格,并且填充数据

    最近在研究python操作excel表格的问题,首先读取excel表格觉得平时用的多,不怎么有难度,就是pyhon生成excel表格的时候,平时不怎么用,所以重点研究了一下,现总结如下: 1.首先用到 ...

  3. 【Leetcode】287. 寻找重复数(数组模拟链表的快慢指针法)

    寻找重复数 根据题意,数组中的数字都在1~n之间,所以数字的范围是小于数组的范围的,数组的元素可以和数组的索引相联系. 例如:nums[0] = 1 即可以将nums[0]作为索引 通过nums[0] ...

  4. Leetcode 416分割等和子集

    416. 分割等和子集 已知是个背包问题,由于可以等分为两部分,所以必定是个偶数. 一开始想到的是回溯法 bool helper(vector<int>&nums, int i, ...

  5. echarts的时间轴的提示内容写在轴下方

    echarts的时间轴的提示内容写在轴下方 在echarts中横坐标的拖动轴dataZone的提示内容在两端,并且没有相关配置让其显示在轴下方或者其他位置. 解决方式: 在图标下方添加dom并且监听拖 ...

  6. 05 . 前端之BootStrap

    BootStrap简介 Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端开 ...

  7. Java实现 LeetCode 812 最大三角形面积 (暴力)

    812. 最大三角形面积 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0] ...

  8. Java实现 LeetCode 771 宝石与石头(这是真暴力)

    771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 ...

  9. ASP.NET防止自己网站的资源被盗(通过IHttpHandler 带样例说明)

    我这里用的图片被盗举例子 一个正常的网页 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind ...

  10. Java实现 LeetCode 735 行星碰撞(栈)

    735. 行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相 ...