Microsoft发布适用于 .NET 的主要版本、次要版本以及服务更新(修补程序)。 本文介绍发布类型、服务更新、SDK 功能区段、支持周期和支持选项。
注释
有关 .NET Framework 的版本控制和支持的信息,请参阅 .NET Framework 生命周期。
发布类型
每个发布类型的信息以 主.次.修正 格式的版本号进行编码。
例如:
- .NET 6 和 .NET 7 是主要版本。
- .NET Core 3.1 是 .NET Core 3.0 主版本之后的第一个次要版本。
- .NET Core 5.0.15 是 .NET 5 的第十五个修补程序。
有关 .NET 已发布版本的列表以及有关 .NET 的交付频率的信息,请参阅 支持策略。
主要版本
主要版本包括新功能、新的公共 API 表面,以及错误修复。 示例包括 .NET 6 和 .NET 7。 由于更改的性质,这些版本预计将有重大更改。 主要版本与以前的主要版本并排安装。
次要版本
次要版本还包括新功能、公共 API 外围应用和 bug 修复,也可能有重大更改。 例如 .NET Core 3.1。 这些版本和主要版本之间的差异在于更改的大小较小。 从 .NET Core 3.0 升级到 3.1 的应用程序需要迈出更小的一步向前发展。 次要版本可以与以前的次要版本同时安装。
服务更新
服务更新(修补程序)几乎每月提供,这些更新同时提供安全和非安全 bug 修复。 例如,.NET 5.0.8 是 .NET 5 的第八个更新。 当这些更新包括安全修补程序时,它们将发布在“patch Tuesday”上,该修补程序始终是本月的第二个星期二。 服务更新应保持兼容性。 从 .NET Core 3.1 开始,服务更新是删除上述更新的升级。 例如,3.1 的最新服务更新会在成功安装后删除以前的 3.1 更新。
功能带(仅 SDK)
.NET SDK 的版本控制与 .NET 运行时略有不同。 为了与新的 Visual Studio 版本保持一致,.NET SDK 更新有时包括新功能或新版本的组件,如 MSBuild 和 NuGet。 这些新功能或组件可能与以前针对相同主版本或次要版本提供的 SDK 更新中提供的版本不兼容。
为了区分此类更新,.NET SDK 使用功能带的概念。 例如,第一个 .NET 5 SDK 为 5.0.100。 此版本对应于 5.0.1xx 特性版本组。 功能区带定义在版本号第三部分的以百为单位的组中。 例如,5.0.101 和 5.0.201 是两个不同的功能区段的版本,而 5.0.101 和 5.0.199 位于同一功能区段。 安装 .NET SDK 5.0.101 后,如果存在,将从计算机中删除 .NET SDK 5.1.100。 在同一计算机上安装 .NET SDK 5.0.200 时,不会删除 .NET SDK 5.0.101。
有关 .NET SDK 和 Visual Studio 版本之间的关系的详细信息,请参阅 .NET SDK、MSBuild 和 Visual Studio 版本控制。
运行时前滚和兼容性
主要和次要更新与以前的版本并排安装。 构建为面向特定 major.minor 版本的应用程序将继续使用该目标运行时,即使安装了较新版本也是如此。 除非你选择启用此功能,否则应用不会自动向前升级以使用较新的 major.minor 版本的运行时。 构建为面向 .NET Core 3.0 的应用程序不会自动开始在 .NET Core 3.1 上运行。 建议在部署到生产环境之前,针对较新的主运行时版本或次要运行时版本重新生成应用和测试。 有关详细信息,请参阅 依赖于框架的应用前滚 和 自包含部署运行时前滚。
服务更新的处理方式与主要版本和次要版本不同。 默认情况下,构建为面向 .NET 7 的应用程序在 7.0.0 运行时上运行。 安装服务更新时,它会自动前滚以使用较新的 7.0.1 运行时。 此行为是默认行为,因为我们希望在安装安全修补程序后立即使用,而无需执行任何其他作。 可以选择退出此默认前滚行为。
.NET 版本生命周期
.NET 版本采用 新式生命周期 ,而不是用于 .NET Framework 版本的 固定生命周期 。 采用新式生命周期的产品具有类似于服务的支持模型,支持周期较短,发布频率更高。
发布渠道
版本发布有两个支持路线:
标准术语支持 (STS) 版本
这些版本支持两年(24 个月)。
示例:
- .NET 9 是 STS 版本,于 2024 年 11 月发布。 支持两年,直到 2026 年 11 月。
长期支持 (LTS) 版本
这些版本至少支持 3 年,或者在下一个 LTS 版本发布 1 年后(如果该日期更晚的话)。
示例:
- .NET 8 是 LTS 版本,于 2023 年 11 月发布。 它将会被支持三年,直到 2026 年 11 月。
LTS 和 STS 之间的版本交替。
服务更新每月提供,包括安全和非安全性(可靠性、兼容性和稳定性)修复。 服务更新的支持将持续至下一个服务更新发布。 服务更新具有运行时前滚行为。 这意味着应用程序默认在最新安装的运行时服务更新上运行。
如何选择发布
如果要构建服务并期望定期继续更新服务,请使用最新版本(无论是 LTS 还是 STS)来了解 .NET 必须提供的最新功能。
如果要构建将分发给使用者的客户端应用程序,稳定性可能比访问最新功能更重要。 您的应用程序可能需要在一定时期内得到支持,然后使用者才能升级到应用程序的下一版本。 在这种情况下,类似于 .NET 8 运行时的 LTS 版本可能是正确的选项。
注释
我们建议升级到最新的 SDK 版本,即使它是 STS 版本,因为它可以面向所有可用的运行时。
对服务更新的支持
在发布下一个服务更新之前,支持 .NET 服务更新。 发布节奏是每月的。
你需要定期安装服务更新,以确保应用处于安全且受支持的状态。 例如,如果 .NET 7 的最新服务更新为 7.0.8,并且我们交付了 7.0.9,则 7.0.8 不再是最新服务更新。 .NET 7 支持的服务级别为 7.0.9。
有关每个主要版本和次要版本的最新服务更新的信息,请参阅 .NET 下载页。
终止支持
终止支持是指Microsoft不再为产品版本提供修补程序、更新或技术支持的日期。 在此日期之前,请确保已使用受支持的版本。 不支持的版本不再接收保护应用程序和数据的安全更新。 有关每个版本的 .NET 支持的日期范围,请参阅 支持策略。
受支持的操作系统
.NET 可以在一系列作系统上运行。 其中每个作系统都有其发起方组织定义的生命周期(例如,Microsoft、Red Hat 或 Apple)。 当 .NET 添加和删除对作系统版本的支持时,将考虑这些生命周期计划。
当操作系统版本终止支持时,Microsoft停止测试并提供支持。 用户需要前进到受支持的作系统版本才能获得支持。
有关详细信息,请参阅 .NET OS 生命周期策略。
获取支持
可以选择Microsoft辅助支持和社区支持。
Microsoft 支持部门
有关辅助支持, 请联系Microsoft支持专业人员。
需要处于受支持的服务级别(最新的可用服务更新),才能获得支持。 如果系统正在运行 .NET 7,并且已发布 7.0.8 服务更新,则需要首先安装 7.0.8。
社区支持
有关社区支持,请参阅 “社区”页。