-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Update SDK versioning document to include support matrix guidance #51412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,6 +1,6 @@ | ||||||
| --- | ||||||
| title: .NET SDK, MSBuild, and Visual Studio versioning | ||||||
| description: Learn about the versioning relationship between the .NET SDK and MSBuild/VS. | ||||||
| description: Learn about the versioning relationship between the .NET SDK and MSBuild/Visual Studio. | ||||||
| author: StephenBonikowsky | ||||||
| ms.custom: updateeachrelease | ||||||
| ms.date: 10/23/2025 | ||||||
|
|
@@ -11,12 +11,14 @@ | |||||
|
|
||||||
| ## Versioning | ||||||
|
|
||||||
| The first part of the .NET SDK version matches the .NET version that it includes, runs on, and targets by default. The feature band starts at 1 and increases for each quarterly Visual Studio minor release. The patch version increments with each month's servicing updates. | ||||||
| The first part of the .NET SDK version matches the .NET version that it includes, runs on, and targets by default. The feature band starts at 1 and increases for each quarterly .NET SDK release. The patch version increments with each month's servicing updates. | ||||||
|
|
||||||
| For example, version 7.0.203 ships with .NET 7, is the second minor Visual Studio release since 7.0.100 first came out, and is the third patch since 7.0.200 released. | ||||||
| For example, version 7.0.203 ships with .NET 7, is the second quarterly feature band release since 7.0.100 first came out, and is the third patch since 7.0.200 released. | ||||||
|
|
||||||
| An installation of Visual Studio includes a single matching copy of the .NET SDK. If you update your Visual Studio instance, the .NET SDK installed by Visual Studio is also updated, including across .NET SDK feature bands and major bands. If you want to use a different .NET SDK than what's installed by Visual Studio, you can install it from the [.NET download page](https://aka.ms/dotnet/download), and Visual Studio upgrade won't touch that version. You're responsible for updating that copy of the .NET SDK from then on. | ||||||
|
|
||||||
| Starting in Visual Studio 18.0, there are monthly minor versions of Visual Studio but the .NET SDK will remain quarterly. The in-between Visual Studio releases will contain patch versions of the latest current .NET SDK version. | ||||||
|
||||||
| Starting in Visual Studio 18.0, there are monthly minor versions of Visual Studio but the .NET SDK will remain quarterly. The in-between Visual Studio releases will contain patch versions of the latest current .NET SDK version. | |
| Starting with Visual Studio 18.0, Visual Studio ships monthly minor versions, while the .NET SDK continues to ship quarterly. Visual Studio releases between quarterly .NET SDK releases contain only patch versions of the latest .NET SDK. |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This table row has extra trailing whitespace, which makes the markdown table harder to maintain and review. Trim the extra padding so the row formatting matches the rest of the table.
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section uses first-person language ("We cannot…", "we'll…"), which is inconsistent with the second-person voice used throughout the porting docs (for example, docs/core/porting/framework-overview.md:11 and docs/core/porting/modernize.md:13). Rewrite in second person or neutral/passive voice so the guidance addresses the reader directly.
Check failure on line 118 in docs/core/porting/versioning-sdk-msbuild-vs.md
GitHub Actions / lint
Unordered list indentation
docs/core/porting/versioning-sdk-msbuild-vs.md:118:1 MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 4] https://github.com/DavidAnson/markdownlint/blob/v0.40.0/doc/md007.md
Check failure on line 119 in docs/core/porting/versioning-sdk-msbuild-vs.md
GitHub Actions / lint
Unordered list indentation
docs/core/porting/versioning-sdk-msbuild-vs.md:119:1 MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 4] https://github.com/DavidAnson/markdownlint/blob/v0.40.0/doc/md007.md
Check failure on line 120 in docs/core/porting/versioning-sdk-msbuild-vs.md
GitHub Actions / lint
Trailing spaces
docs/core/porting/versioning-sdk-msbuild-vs.md:120:253 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.40.0/doc/md009.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Backward compatibility**: Using the latest feature band of the previous SDK version (for example, 8.0.4xx in Visual Studio 17.14) is supported with best-effort compatibility. We'll determine when to backport fixes based on risk and customer impact. | |
| - **Backward compatibility**: Using the latest feature band of the previous SDK version (for example, 8.0.4xx in Visual Studio 17.14) is supported with best-effort compatibility. The .NET team determines when to backport fixes based on risk and customer impact. |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: "effor" should be "effort".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| While older SDKs than the latest of the prior band may work, we will not test them or make an effor to ensure any compatibility. | |
| While SDKs that are older than the latest of the prior band might work, the .NET team does not test them or make an effort to ensure any compatibility. |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sentence "While older SDKs…" looks like it's intended as part of the "Backward compatibility" list item, but it isn't indented, so it renders as a separate paragraph outside the list. Indent it to be part of that bullet (or convert it into a nested bullet) for correct markdown structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Forward compatibility**: Using a newer SDK (for example, .NET 10 SDK in Visual Studio 17.14) is allowed without blocking, but targeting newer runtimes in older Visual Studio versions is not supported and should provide a build warning. | |
| - **Forward compatibility**: Using a newer SDK (for example, .NET 10 SDK in Visual Studio 17.14) is allowed without blocking, but targeting newer runtimes in older Visual Studio versions isn't supported and produces a build warning. |
gewarren marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Our guidance is to use the SDK that came with your Visual Studio instance (or latest available in CI or Visual Studio Code) as that will always have newest features including security updates. | |
| Use the SDK that came with your Visual Studio instance (or latest available in CI or Visual Studio Code), as that version always has the newest features, including security updates. |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The heading uses "Downlevel", but earlier in the article you use "down-level" (for example, "down-level versions" in the note above). Pick one form and use it consistently (usually "down-level").
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Existing support preserved**: Targeting support for out-of-support versions remains in the SDK without active removal. Customers upgrading their SDK or Visual Studio version should not have their builds broken simply by targeting an older .NET version. | |
| - **Existing support preserved**: Targeting support for out-of-support versions remains in the SDK without active removal. Customers that upgrade their SDK or Visual Studio version should not have their builds broken simply by targeting an older .NET version. |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new preview row's Visual Studio version format doesn't match the rows above (those include an "Insiders" build number in parentheses). Align the formatting so readers can compare versions consistently.
| | 11.0.100 Preview 1 | 18.4.0 Insiders 1 | | |
| | 11.0.100 Preview 1 | 18.4.0 Insiders (1) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.