将 .Net Core 运行时版本映射到 .Net Core SDK 版本

Mapping .Net Core Runtime versions with .Net Core SDK versions

我刚刚获得了最新的 .Net Core 3.1 运行time 和 SKD 容器。

运行时间最新版本为3.1.10,SDK最新版本为3.1.404。

但根据此 documentation page,这不是有效的版本控制结构。它表示 SDK 的次要版本将遵循类似于此公式的模式:

 (Runtime Minor Version * 100) + SDK Actual Minor Version 

因此,运行时版本 3.1.5 将生成 SDK 版本 3.1.5xx,其中 xx 是 SDK 次要版本。

所以按照这个逻辑,如果Runtime版本是3.1.10,那么SDK版本应该是3.1.1004。

我错过了什么?该文档仅适用于 .Net Core 2 吗?或者微软只是放弃了它并且文档已经过时了? (该页面最后一次编辑是在今年)。

.Net Core 的 Runtime 和 SDK 版本之间是否存在关联?

当我在 SDK 容器上 运行 dotnet --info 时,它告诉我主机正在使用 3.1.10

不,SDK 和运行时版本号之间并没有严格的公式。

公式是版本号的开始方式。但是当有新的 SDK 更新时,他们会增加乘数,但会继续从那里计算版本。他们 3.1 的初始 SDK 版本是:

  • 3.1.100
  • 3.1.101
  • 3.1.102

但他们同时也发布了一个新的 SDK feature band。那得到了版本 3.1.200。版本控制从那里继续:

  • 3.1.100
  • 3.1.101
  • 3.1.102 + 3.1.200
  • 3.1.103 + 3.1.201

在此之后发布了另一个 SDK 功能:

  • 3.1.104 + 3.1.202 + 3.1.300

以此类推

您可以在此处查看所有 3.1 Runtime + SDK 发布版本的列表:

https://dotnet.microsoft.com/download/dotnet-core/3.1

或者您可以使用 https://github.com/dotnet/core/blob/master/release-notes/3.1/releases.json

以编程方式使用它们