Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit editor mode

.NET SDK, MSBuild, and Visual Studio versioning

Feedback

In this article

The versioning of the .NET SDK and how it relates to Visual Studio and MSBuild can be confusing. MSBuild versions with Visual Studio, but is also included in the .NET SDK. The SDK has a minimum version of MSBuild and Visual Studio that it works with, and it won't load in a version of Visual Studio that's older than that minimum version.

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.

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.

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, and Visual Studio upgrade won't touch that version. You're responsible for updating that copy of the .NET SDK from then on.

Note

The .NET SDK supports targeting down-level versions of .NET, so we recommend always updating your .NET SDK along with your Visual Studio version.

Lifecycle

The support timeframe for the SDK typically matches that of the Visual Studio version it's included in.

Expand to see out-of-support .NET versions
SDK versionMSBuild/Visual Studio versionShip dateLifecycle
2.1.5xx15.9Nov '18Aug '21
2.1.8xx16.2 (No VS)July '19Aug '21
3.1.1xx16.4Dec '19Oct '21
3.1.4xx16.7Aug '20Dec '22
5.0.1xx16.8Nov '20Mar '21
5.0.2xx16.9March '21May '22
5.0.3xx16.10May '21Aug '21
5.0.4xx16.11Aug '21May '22
6.0.1xx17.0Nov '21Nov '24
6.0.2xx17.1Feb '22May '22
6.0.3xx17.23May '22Oct '23
6.0.4xx17.3Aug '22Nov '24
7.0.1xx17.4Nov '22May '24
7.0.2xx17.53Feb '23May '23
7.0.3xx17.6May '23May '24
7.0.4xx17.7Aug '23May '24

Supported .NET versions

SDK versionMSBuild/Visual Studio versionShip dateLifecycle
8.0.1xx17.8Nov '23Nov '261
8.0.2xx17.9Feb '24May '24
8.0.3xx17.10May '24Jan '26
8.0.4xx17.11Aug '24Nov '262
9.0.1xx17.12Nov '24May '26
9.0.2xx17.13Feb '25May '25
9.0.3xx17.14May '25Nov '26
10.0.1xx18.0Nov '25Nov '28

Note

1 .1xx .NET SDK feature bands are supported throughout the lifecycle of major .NET versions. During the extended support period, support is limited to security fixes and minimal high-priority non-security fixes for Linux only. To learn more about the reasoning for this extended support, seeSource-build support.

2 .4xx .NET SDK feature bands are supported for the life of the matching runtime as stand-alone installs.

Visual Studio 2019 Lifecycle

Visual Studio 2022 Lifecycle

Targeting and support rules

The following policy dictates which versions of MSBuild and Visual Studio a given version of the .NET SDK will run in:

  • Each new TargetFrameworkrequires a new Visual Studio version or a newdotnet version.
  • The first version of Visual Studio that supports a new TargetFramework becomes a floor for the feature bands of that SDK for Roslyn API surface, MSBuild targets, source generators, analyzers, and so on.
  • The first version of a new .NET SDK that supports a new TargetFramework can still be used with the prior version of Visual Studio to allow one quarter for tooling and infrastructure (for example, actions and pipelines) to migrate.
SDKVisual Studio version
the SDK ships with
Minimum Visual Studio versionMax TargetFramework in
minimum Visual Studio version
Max TargetFramework indotnet
8.0.10017.817.7Net7.0Net8.0
8.0.20017.917.8Net8.0Net8.0
8.0.30017.1017.8Net8.0Net8.0
8.0.40017.1117.8Net8.0Net8.0
9.0.10017.1217.11Net8.0Net9.0
9.0.20017.1317.12Net9.0Net9.0
9.0.30017.1417.12Net9.0Net9.0
10.0.10018.017.14Net9.0Net10.0

Note

The table depicts how these versioning rules are applied, starting with .NET SDK 7.0.100 and .NET SDK 6.0.300. It also depicts how the policy would have applied to previously shipped versions of the .NET SDK, had it been in place then. However, the requirements for previous versions of the SDK don't change—that is, the minimum required version of Visual Studio for .NET SDK 6.0.100 or 6.0.200 remains 16.10.

Targetingnet8.0 is officially supported in Visual Studio 17.8+ only.

Targetingnet9.0 is officially supported in Visual Studio 17.12+ only.

Targetingnet10.0 is officially supported in Visual Studio 18.0+ only.

To ensure consistent tooling, you should usedotnet build rather thanmsbuild to build your application when possible.

Preview versioning

Major versions of the .NET SDK are typically released within a few days of a Visual Studio preview version. While there might be other combinations that work, only the latest preview released is tested and officially supported. The following table shows which version of Visual Studio each .NET preview version was tested with prior to release.

SDK preview versionVisual Studio version
9.0.100 RC 117.12 Preview 2
9.0.100 RC 217.12 Preview 3
9.0.100 GA17.12 GA
10.0.100 Preview 117.14 Preview 1
10.0.100 Preview 217.14 Preview 2
10.0.100 Preview 317.14 Preview 3
10.0.100 RC 118.0.0 Insiders (11010.61)
10.0.100 RC 218.0.0 Insiders (11111.16)

Reference

Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, seeour contributor guide.

Feedback

Was this page helpful?

YesNoNo

Need help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?

  • Last updated on

In this article

Was this page helpful?

YesNo
NoNeed help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?