0

When you go to download https://dotnet.microsoft.com/en-us/download/dotnet/6.0 the latest version of the Net SDK (for example 6.0.14) you get the option to download 6.0.406, 6.0.309, and 6.0.114.

According to How the .Net Runtime SDK is versioned page the last increment means patch a combination of MINOR and PATCH.

If it's a patch why does it have different versions? Shouldn't 406 include everything patched also in 309 and 114?

What does the last number really mean? How do I know which one of them I should take?

RedX
  • 14,749
  • 1
  • 53
  • 76
  • It does include all previous fixes. `Patch` doesn't mean `only new fixes`. `which one of them I should take` the latest one – Panagiotis Kanavos Mar 08 '23 at 07:54
  • As for why `Patch` doesn't mean `only new fixes`, because it doesn't. `Patch` doesn't have a fixed definition. In *some* systems and products, patch may mean updates containing only incremental fixes over an existing installation. This isn't about updates though, it's about [Semantic Versioning](https://semver.org/) of libraries and packages. In SemVer, `Given a version number MAJOR.MINOR.PATCH, increment the:...PATCH version when you make backwards compatible bug fixes`. Patch refers to the third segment of a package's version number – Panagiotis Kanavos Mar 08 '23 at 08:01

1 Answers1

0

It seems the SDK patch version mentioned in the Overview of how .NET is versioned is based on the corresponding Visual Studio minor version. It looks like the actual patch (114, 309) is based on the minor part of the earliest Visual Studio version that supports that SDK. Except for 4xx, which is standalone. Except when it isn't.

So for .NET versions 6.0.13 or 6.0.14, the SDK versions that come bundled in a Visual Studio patch upgrade are 100*VS.Minor+100, for example:

  • SDK 309 comes in VS 2022 17.2.13 and SDK 114 in VS 17.0.19
  • SDK 406 is standalone.

In 6.0.11 though, which is supported in VS 17.3, 403 was used (3*100 +100).

The recommended download link points to the 4xx version so I guess the lower numbers are only needed if you use an earlier VS version

Panagiotis Kanavos
  • 120,703
  • 13
  • 188
  • 236