.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,一经查实,立即删除!

相关文章

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

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

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

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

原生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;。因为…

二、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…

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

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

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

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

ArcGIS实验教程——实验三十八:基于ArcGIS的等高线、山体阴影、山顶点提取案例教程

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 1. 加载DEM2. 提取等高距为15m的等高线3. 提取等高距为75m的等高线4. 生成山体阴影5. 生成三维等高线6. 提取山顶点7. 实验数据下载地址山顶点指那些在特定邻域分析范围内,该点都比周围…

(2.3)其他补充—— 二、solidity 基础进阶《实战NFT web3 solidity(新版本0.8.+)》

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

如何在web api中使用SignalR

说明&#xff1a; 在webapi中使用signalr&#xff0c;使用IIS 环境&#xff1a; vs2012, .net4.5 第一步&#xff1a;建web api项目 第二步&#xff1a;nuget导入signalr Install-Package Microsoft.AspNet.SignalR Install-Package Microsoft.Owin.Cors &#xff08;用于…

Directx11学习笔记【二】 将HelloWin封装成类

我们把上一个教程的代码封装到一个类中来方便以后的使用。 首先新建一个空工程叫做MyHelloWin&#xff0c;添加一个main.cpp文件&#xff0c;然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 MyWindow.h文件 1 /***************************************************…

Badboy自动化测试工具11 导出脚本用于Jmeter并发测试

本节主要讲解利用Jmeter进行并发测试和引入图像报表 1. 在Jmeter中打开上节课&#xff08;10&#xff09;Badboy导出的在拉手网查询KTV的脚本Lashou_Search.jmx. 2. 右击Lashou节点&#xff0c;Add->Listener->Aggregate Graph & Graph Results 3. 对图像报表进行配置…

ArcGIS实验教程——实验三十九:ArcGIS多元分类(ISO聚类分析、最大似然分类、主成分分析)案例教程

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、ISO聚类1. ISO聚类简介2. ISO聚类进行非监督分类实验操作二、最大似然分类1. 最大似然简介2. 最大似然分类实验案例三、主成分分析1. 主成分分析简介2. 主成分分析实验案例四、配套实…

ABP Framework 5.3.0 版本新增功能和变更说明

ABP Framework 5.3.0 稳定版已在2022年6月14日正式发布。以下是本版本的新增功能&#xff1a;• “开始”页面提供创建单层项目选项• 启动模板提供 PWA 支持• Volo.Abp.Gdpr.Abstractions 包介绍• 将发件箱中的事件批量发布到事件总线• eShopOnAbp 项目改进和电子书公告• …

智能合约开发——TypeScript 基础(全)

TS 准备 首先我们准备一个目录&#xff0c;使用 dos 进入到某目录&#xff0c;当然你直接 vs 打开终端执行也是没有问题的&#xff1a; 执行以下命令安装 typescrip&#xff08;不用进入目录&#xff0c;直接安装即可&#xff09;&#xff1a; npm install -g typescript我是…

利用Signalr实现手机端App扫码登录web页面

实现原理&#xff1a; 1、web登录页面&#xff0c;利用jquery.qrcode展示一个随机生成的登录码的二维码&#xff1b; 2、手机App扫描二维码取得登录码&#xff1b; 3、手机App将本地用户id登录码通过api提交服务器&#xff1b; 4、服务器api&#xff0c;收到手机App请求&am…

【ArcGIS风暴】ArcGIS栅格影像(NDVI)归一化处理的两种方法精解

【ArcGIS遇上Python】ArcGIS批量处理栅格影像(NDVI)归一化完整案例代码 图像归一化是指对图像进行了一系列标准的处理变换,使之变换为一固定标准形式的过程,该标准图像称作归一化图像。 原始图像在经历一些处理或攻击后可以得到多种副本图像,这些图像在经过相同参数的图像…

以小见大:一个领域建模的简单示例,理解“领域驱动”。

背景&#xff1a;航空公司为了确保飞行路线不发生冲突&#xff0c;需要开发一款飞行路线管理软件。过程&#xff1a;我们先去找这个领域的专家&#xff0c;自然是作为平时管理和维护机场飞行秩序的工作人员&#xff1b;我们第一个目标就是与他们沟通&#xff0c;也许我们并不能…