Microsoft发布适用于 .NET 的主要版本、次要版本以及服务更新(修补程序)。 本文介绍发布类型、服务更新、SDK 功能区段、支持周期和支持选项。
注释
有关 .NET Framework 的版本控制和支持的信息,请参阅 .NET Framework 生命周期。
当前支持的版本
目前支持以下版本的 .NET:
- .NET 10 (长期支持) - 支持到 2028 年 11 月。
- .NET 9 (标准术语支持) - 在 2026 年 11 月之前受支持。
- .NET 8 (长期支持) - 在 2026 年 11 月之前受支持。
有关支持版本及其支持终止日期的完整列表,请参阅 .NET 支持策略。
发布类型
版本号在 major.minor.patch 中对每个发布类型的信息进行编码。
例如:
- .NET 8 和 .NET 9 是主要版本。
- .NET 9.0.1 是 .NET 9 的第一个修补程序。
有关 .NET 已发布版本的列表以及有关 .NET 的交付频率的信息,请参阅 支持策略。
主要版本
主要版本包括新功能、新的公共 API 表面,以及错误修复。 示例包括 .NET 8 和 .NET 9。 由于更改的性质,这些版本预计将有重大更改。 主要版本与以前的主要版本并排安装。
次要版本
次要版本还包括新功能、公共 API 接口范围和错误修正,并且可能会有重大更改。 这些版本和主要版本之间的差异在于更改的大小较小。 次要版本可以与以前的次要版本同时安装。
服务更新
服务更新(修补程序)几乎每月提供,这些更新同时提供安全和非安全 bug 修复。 例如,.NET 9.0.1 是 .NET 9 的第一个更新。 当这些更新包括安全修复时,它们会在“补丁星期二”发布,这通常是每个月的第二个星期二。 服务更新保持兼容性。 维护更新会删除上述更新。 例如,成功安装后,.NET 9 的最新服务更新会删除以前的 .NET 9 更新。
功能带(仅 SDK)
.NET SDK 版本控制的工作方式与 .NET 运行时不同。 为了与新的 Visual Studio 版本保持一致,.NET SDK 更新有时包括新功能或新版本的组件,如 MSBuild 和 NuGet。 这些新功能或组件可能与以前针对相同主版本或次要版本提供的 SDK 更新中提供的版本不兼容。
为了区分此类更新,.NET SDK 使用功能带。 例如,第一个 .NET 9 SDK 为 9.0.100。 此版本对应于 9.0.1xx feature band。 功能区带定义在版本号第三部分的以百为单位的组中。 例如,9.0.101 和 9.0.201 是两个不同的功能区段的版本,而 9.0.101 和 9.0.199 位于同一功能区段。 安装 .NET SDK 9.0.101 后,如果 .NET SDK 9.0.100 存在,则会从计算机中移除该版本。 在同一计算机上安装 .NET SDK 9.0.200 时,不会删除 .NET SDK 9.0.101。
有关 .NET SDK 和 Visual Studio 版本之间的关系的详细信息,请参阅 .NET SDK、MSBuild 和 Visual Studio 版本控制。
运行时前滚和兼容性
主要和次要更新与以前的版本并排安装。 构建为面向特定 major.minor 版本的应用程序将继续使用该目标运行时,即使安装较新版本也是如此。 默认情况下,面向 .NET 8 的应用不会自动前滚到 .NET 9(主要版本更改),但如果 .NET 8.0 不可用,它可以前滚到较新的次要版本(如 .NET 8.1)。 有关控制此行为的详细信息,请参阅 依赖框架的应用程序向前滚动 和 自包含部署运行时向前滚动。
自动更新到新版本。 构建为面向 .NET 9 的应用程序使用已安装的最新修补程序版本。 例如,如果在项目中指定 .NET 9.0,并且安装了 .NET 9.0.3,应用将使用 .NET 9.0.3。 自动补丁升级是默认设置,因为应尽快使用安全修复。 可以选择退出此默认前滚行为。
.NET 版本生命周期
.NET 版本使用 新式生命周期 ,而不是 .NET Framework 发布的 固定生命周期 。 使用新式生命周期的产品具有类似于服务的支持模型,支持周期较短,发布频率更高。
发布渠道
在发布版本中,有两个支持路径:
标准术语支持 (STS) 版本
这些版本支持两年(24 个月)。
示例:
- .NET 9 是 2024 年 11 月发布的 STS 版本。 支持两年,直到 2026 年 11 月。
长期支持 (LTS) 版本
这些版本至少支持三年,或者在下一个 LTS 版本发布后一年(如果该日期更晚)支持。
示例:
- .NET 8 是 2023 年 11 月发布的 LTS 版本。 它将会被支持三年,直到 2026 年 11 月。
LTS 和 STS 之间的版本交替。
服务更新每月提供,包括安全和非安全性(可靠性、兼容性和稳定性)修复。 服务更新的支持将持续至下一个服务更新发布。 服务更新具有运行时前滚行为。 这意味着应用程序默认在最新安装的运行时服务更新上运行。
如何选择发布
如果要构建服务并期望定期更新服务,请使用最新版本(无论是 LTS 还是 STS)来随时了解 .NET 产品/服务的最新功能。
如果要生成客户端应用程序以分发给使用者,则稳定性可能比访问最新功能更重要。 在使用者升级到下一版本的应用程序之前,应用程序可能需要一段时间的支持。 在这种情况下,类似于 .NET 8 运行时的 LTS 版本可能是正确的选项。
注释
升级到最新的 SDK 版本(即使它是 STS 版本),因为它可以面向所有可用的运行时。
对服务更新的支持
在发布下一个服务更新之前,支持 .NET 服务更新。 发布节奏是每月的。
定期安装服务更新,以确保应用处于安全且受支持的状态。 例如,如果 .NET 9 的最新服务更新为 9.0.1,并且 Microsoft 发布 9.0.2,那么 9.0.1 就不再是最新的服务更新。 .NET 9 支持的服务级别为 9.0.2。
有关每个主要版本和次要版本的最新服务更新的信息,请参阅 .NET 下载页。
终止支持
终止支持是指Microsoft不再为产品版本提供修补程序、更新或技术支持的日期。 在此日期之前,请移动到受支持的版本。 不支持的版本不再接收保护应用程序和数据的安全更新。 有关每个版本的 .NET 支持的日期范围,请参阅 支持策略。
受支持的操作系统
可以在一系列操作系统上运行 .NET。 每个作系统都有一个由其赞助组织定义的生命周期(例如,Microsoft、Red Hat 或 Apple)。 .NET 在添加和删除对作系统版本的支持时,会考虑这些生命周期计划。
当操作系统版本终止支持时,Microsoft停止测试并提供支持。 移动到受支持的作系统版本以获取支持。
有关详细信息,请参阅 .NET OS 生命周期策略。
获取支持
可以选择Microsoft辅助支持和社区支持。
Microsoft 支持部门
有关辅助支持, 请联系Microsoft支持专业人员。
要获得支持,需使用受支持的服务级别(即最新的可用服务更新)。 如果系统运行 .NET 8 和 8.0.11 服务更新已发布,则首先安装 8.0.11。
社区支持
有关社区支持,请参阅 “社区”页。