本文整理记录了 .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. 实验二:Linux系统简单文件操作命令

    項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...

  2. require.js与IDEA的配合

    本文主要讲述在html中使用requirejs时,如何让IDEA更加智能识别javascript的方法. 测试时的目录结构,一种典型的 thinkphp 的结构,同时,在 a.thml 中通过 req ...

  3. PHP生成指定范围的日期

    /** * 生成指定范围的日期 * * @param $string $startDate 开始日期 2020-01-01 * @param $string $endDate 结束日期 2020-01 ...

  4. php动态安装扩展

    下面以安装phpredis扩展为例 下载扩展源码,解压 [root@localhost ~]# wget phpredis-5.1.1.tar.gz [root@localhost ~]# tar - ...

  5. php CURL 发送请求封装

    cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 ...

  6. docker重启提示已存在一个容器的问题处理

    一.问题:在vmware虚拟机中测试以docker方式安装的prometheus,当重启虚拟机后,再次运行prometheus的执行文件,提示已有名称为prometheus的容器存在. 二.处理过程 ...

  7. Beta冲刺 —— 5.28

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.组员一起学习Git分支管 ...

  8. 初窥Ansible playbook

    Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. Ansible系列博文直达链接:Ansible入门系列 前言 在上一篇文章中说到A ...

  9. Java实现 蓝桥杯 算法提高 进攻策略加强(暴力)

    试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要 ...

  10. Java实现最大连续乘积子数组

    1 问题描述 给定一个浮点数组,任意取出数组中的若干个连续的数相乘,请找出其中乘积最大的子数组. 2 解决方案 2.1 蛮力法 该方法的时间复杂度为O(n^2). package com.liuzhe ...