.NET 发布和支持计划介绍

.NET 发布和支持计划介绍

Intro

对于 .NET 的发布,大多数童鞋都知道现在每年发布一个版本,针对 .NET 的发布,最近有些更新,Current 版本将改为 STS 版本,所以写一篇文章介绍一下

每年 11 月都会发布新的 .NET 主要版本,使开发人员、社区和企业能够规划他们的路线图。

偶数版本是 LTS 版本,会有三年的支持,奇数版本是 Current 版本(后面会改成 STS 版本),有 18 个月的支持。

ee17150cfb505ab09a49b8b1a7a27aec.png

Release type

发布的类型可以分为三种:

  • LTS

    • LTS (Long Term Support)长期支持版本,从发布之后有三年的支持时间

  • STS(Short Term Support)

    • 短期支持版本,现在叫做 Current 版本,后面会改成 STS 短期支持版本,现在新的 proposal 的叫法是 STS (Short Term Support),和现在一样有十八个月的支持时间

  • Preview

    • 预览版通常不受支持,会在最终发布之前提供公开测试。Preview 版本一般不受支持,但如果被指定了 "go-live" 的话,通常是 RC 版本,会受到微软的支持, RC 版本发布之后会支持到下个 RC 版本或者正式版本发布

Support type

支持的类型有下面几种:

  • 完整支持(Full support)

    • 在完整支持期间,会更新 .NET 版本以改进功能并减少安全漏洞。其中包含一些比较重要的 BUG修复或者重要的性能优化

  • 维护支持(Maintenance)

    • 在维护支持期间,仅更新 .NET 版本以修复安全漏洞。

    • 维护支持期是对任何版本(STS或 LTS)的最后 6 个月支持。维护期结束后,该版本不再支持。

  • 终止支持(End of life/End of support)

    • 支持终止是指 Microsoft 不再提供修复、更新或在线技术帮助的日期。支持终止也可称为“服务终止”或缩写为“EOL”(End of life)。

    • 使用不受支持的 .NET 版本可能会使您的应用程序、应用程序数据和计算环境面临风险,编译器会给出警告。强烈建议不要使用不受支持的软件。

Release json

为了方便通过程序或者脚本来自动化的检查 .NET 的 release,会有一个 release 的 json 文件来检查

https://github.com/dotnet/core/blob/main/release-notes/releases-index.json

{"releases-index": [{"channel-version": "7.0","latest-release": "7.0.0-preview.4","latest-release-date": "2022-05-10","security": false,"latest-runtime": "7.0.0-preview.4.22229.4","latest-sdk": "7.0.100-preview.4.22252.9","product": ".NET","support-phase": "preview","eol-date": null,"releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/7.0/releases.json"},{"channel-version": "6.0","latest-release": "6.0.5","latest-release-date": "2022-05-10","security": true,"latest-runtime": "6.0.5","latest-sdk": "6.0.300","product": ".NET","support-phase": "lts","eol-date": "2024-11-12","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/6.0/releases.json"},{"channel-version": "5.0","latest-release": "5.0.17","latest-release-date": "2022-05-10","security": true,"latest-runtime": "5.0.17","latest-sdk": "5.0.408","product": ".NET","support-phase": "eol","eol-date":"2022-05-10","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/5.0/releases.json"},{"channel-version": "3.1","latest-release": "3.1.25","latest-release-date": "2022-05-10","security": true,"latest-runtime": "3.1.25","latest-sdk": "3.1.419","product": ".NET Core","support-phase": "lts","eol-date": "2022-12-13","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json"},{"channel-version": "3.0","latest-release": "3.0.3","latest-release-date": "2020-02-18","security": false,"latest-runtime": "3.0.3","latest-sdk": "3.0.103","product": ".NET Core","support-phase": "eol","eol-date": "2020-03-03","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json"},{"channel-version": "2.1","latest-release": "2.1.30","latest-release-date": "2021-08-19","security": true,"latest-runtime": "2.1.30","latest-sdk": "2.1.818","product": ".NET Core","support-phase": "eol","eol-date": "2021-08-21","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json"},{"channel-version": "2.2","latest-release": "2.2.8","latest-release-date": "2019-11-19","security": true,"latest-runtime": "2.2.8","latest-sdk": "2.2.207","product": ".NET Core","support-phase": "eol","eol-date": "2019-12-23","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json"},{"channel-version": "2.0","latest-release": "2.0.9","latest-release-date":"2018-07-10","security": true,"latest-runtime": "2.0.9","latest-sdk": "2.1.202","product": ".NET Core","support-phase": "eol","eol-date": "2018-10-01","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.0/releases.json"},{"channel-version": "1.1","latest-release": "1.1.13","latest-release-date": "2019-05-14","security": true,"latest-runtime": "1.1.13","latest-sdk": "1.1.14","product": ".NET Core","support-phase": "eol","eol-date": "2019-06-27","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/1.1/releases.json"},{"channel-version": "1.0","latest-release": "1.0.16","latest-release-date": "2019-05-14","security": true,"latest-runtime": "1.0.16","latest-sdk": "1.1.14","product": ".NET Core","support-phase": "eol","eol-date": "2019-06-27","releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/1.0/releases.json"}]
}

你可以用 Github 的地址来进行检查也可以通过下面两个地址来获取,内容是一样的

  • https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json

  • https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json

More

一个正常版本的发布通常会有下面这几个过程:

preview -> go-live -> [lts | sts] -> maintenance -> eol

首先会发布预览版本 Preview,正式版本之前会发布 rc 版就是 go-live ,正式版发布之后会进入正式的服务期,其中最后半年进入维护期,只包含安全更新,此前是完整支持,最后就是超出支持范围,终止支持了

这里我在官方给出的图上做了一些小的变动

08d47b89609663dc81cb1f6cecb4b2a0.png

对于 .NET Core 3.1 和 .NET 5 添加了两条线,第一条绿色的线是完整的支持期,紧接着的粉色的线代表着进入维护期

对于 LTS 版本的 Release 来说,有三年的支持,其中前面的两年半时间是完整支持,后面的半年是维护期,只有安全更新

对于 STS 版本的 Release 来说,有十八个月的支持,其中前面一年是完整支持,后面半年是维护期

Current 版本改名为 STS 版本,我觉得很大一方面是想说明,STS 版本和 LTS 版本的发布质量是一样的,大家不要觉得不是 LTS 版本就不稳定,BUG较多,两者只是支持的周期不同,LTS 有着更长的支持周期,发布质量是一样的。

References

  • https://github.com/dotnet/core/issues/7522

  • https://github.com/dotnet/designs/pull/265

  • https://github.com/dotnet/core/pull/7517

  • https://endoflife.date/dotnet

  • https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core

  • https://github.com/dotnet/designs/blob/release-labels/accepted/2022/dotnet-release-labels.md#proposed-labels

  • https://github.com/dotnet/core/blob/main/release-notes/releases-index.json

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言试题七十五之请编写函数求回文数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

【spring boot】8.spring boot的日志框架logback使用

在继续上一篇的Debug调试之后,把spring boot的日志框架使用情况逐步蚕食。 参考:http://tengj.top/2017/04/05/springbo 开篇之前,贴上完整application.properties日志相关配置 简介:spring boot的默认日志框架Logback SLF4J——…

【无人机知识】吐血整理:史上最全最完整的飞机基本参数名称详解

飞机基本参数大全: 机翼(airfoil):产生飞行所需升力,支持飞机在空中飞行,也有稳定操纵的作用。副翼(aileron):是指安装在机翼翼梢后缘的一小块可动的翼面。飞行员操纵左右副翼差动偏转所产生的滚转力矩可以使飞机做横滚机动。机身(fuselage):装载机组成员、旅客、货…

通过iscsi配置在aix上挂载存储设备

本文中我们利用starwind虚拟存储进行设置,以下为实验环境说明:Windows环境:win7,ip address:10.3.5.7,iscsi initiator name :iqn.2008-08.com.starwindsoftware:joker-pc-aixAix环境:ip addres…

16进制可逆加密算法

16进制可逆操作类&#xff1a; public static class Hex16{/// <summary>/// 作用&#xff1a;将字符串内容转化为16进制数据编码&#xff0c;其逆过程是Decode/// 参数说明&#xff1a;/// strEncode 需要转化的原始字符串/// 转换的过程是直接把字符转换成Unicode字符,…

原生js声音播放代码

最终测试页页面 测试页面html代码(test.html) <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"Generator" content"EditPlus"><meta name"Author" content"…

写给 Kubernetes 工程师的 mTLS 指南

本文翻译节选自 A Kubernetes engineer’s guide to mTLS[1]&#xff0c;为了便于读者理解&#xff0c;笔者对原文做了一点修改 &#xff08;本文删除了原文中的与主题关系不大的 Linkerd 安装的部分&#xff0c;将 Twillio 替换成国内读者比较熟悉的 GitHub&#xff09;。因为…

ArcGIS实验教程——实验三十五:ArcGIS Model Builder与空间建模原理、案例详解

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、 空间建模概述1. 空间建模概述2. 空间建模步骤二、Model Builder建模1. Model Builder基础2. Model Builder操作3. Model Builder高级进阶操作一、 空间建模概述 1. 空间建模概述 …

C语言试题七十六之请编写函实现百钱买百鸡

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

二、solidity 基础进阶(2.1)—— library 库合约《实战NFT web3 solidity(新版本0.8.+)》

《web3 solidity0.8.版本&#xff08;持续更新新版本内容&#xff09; 基础到实战NFT开发》会及时更新新版本 solidity 内容&#xff0c;以及完成最终的 NFT 实战商业项目部分。 注&#xff1a;由于是付费专栏内容&#xff0c;若有错误请及时联系1_bit&#xff0c;博客链接&am…

paper 17 : 机器学习算法思想简单梳理

前言&#xff1a; 本文总结的常见机器学习算法&#xff08;主要是一些常规分类器&#xff09;大概流程和主要思想。 朴素贝叶斯&#xff1a; 有以下几个地方需要注意&#xff1a; 1. 如果给出的特征向量长度可能不同&#xff0c;这是需要归一化为通长度的向量&#xff08;这里以…

BZOJ1179 Atm //缩点+spfa

1179: [Apio2009]Atm Description Input 第一行包含两个整数N、M。N表示路口的个数&#xff0c;M表示道路条数。接下来M行&#xff0c;每行两个整数&#xff0c;这两个整数都在1到N之间&#xff0c;第i1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行&#xff0c…

centos 新建swap区文件

一. 相当详细且流程完整&#xff0c;&#xff08;推荐阅读&#xff09; 在centos7上新建swap区 https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-7 二. centos官网 转&#xff1a;https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-sw…

ArcGIS实验教程——实验三十六:ArcGIS Python脚本的巧妙使用

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、ArcGIS脚本简介二、Python脚本与ArcPy三、Python窗口四、脚本编写(案例:矢量数据批量裁剪)五、在ModelBuilder中使用脚本工具一、ArcGIS脚本简介 脚本与模型相似,也是把处理过程…

基于Spring Boot和Spring Cloud实现微服务架构学习

目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如何访问这些服务&#xff1f; 服务之间如何通信&#xff1f; 这么多服务&#xff0c;怎么找? 这么多服务&#x…

C语言试题七十七之请编写函实现渔夫打鱼晒网问题

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

.NetCore实现图片缩放与裁剪 - 基于ImageSharp

前言&#xff08;突然发现断更有段时间了最近在做博客的时候&#xff0c;需要实现一个类似Lorempixel、LoremPicsum这样的随机图片功能&#xff0c;图片有了&#xff0c;还需要一个根据输入的宽度高度获取图片的功能&#xff0c;由于之前处理图片时使用到了ImageSharp库&#x…

Mysql身份认证漏洞及利用(CVE-2012-2122) 补充测试用例

当连接MariaDB/MySQL时&#xff0c;输入的密码会与期望的正确密码比较&#xff0c;由于不正确的处理&#xff0c;会导致即便是memcmp()返回一个非零值&#xff0c;也会使MySQL认为两个密码是相同的。也就是说只要知道用户名&#xff0c;不断尝试就能够直接登入SQL数据库。按照公…

添加启动类

添加.h和cpp #pragma once #include "afxwin.h" class mySplash :public CWnd {DECLARE_DYNAMIC(mySplash)protected:DECLARE_MESSAGE_MAP()public:CBitmap m_bitmap;void Create(UINT nBitmapID);afx_msg void OnPaint();afx_msg void OnTimer(UINT_PTR nIDEvent); …

ArcGIS实验教程——实验三十七:基于ArcGIS的太阳辐射分析案例教程

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、太阳辐射的基本概念1. 视域2. 太阳图3. 星空图二、太阳辐射ArcGIS案例实现1. 对该区域进行太阳辐射区域分析2. 对单个点的太阳辐射进行分析太阳辐射是地球上各种物理过程和生物过程的…