Skip to content

Commit dd1a47f

Browse files
authored
Improvements to the SDK versioning page for .NET 9 (dotnet#41768)
1 parent 7bfa59b commit dd1a47f

File tree

1 file changed

+58
-42
lines changed

1 file changed

+58
-42
lines changed

docs/core/porting/versioning-sdk-msbuild-vs.md

Lines changed: 58 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,41 @@ For example, version 7.0.203 ships with .NET 7, is the second minor Visual Studi
2020

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

23-
| SDK Version | MSBuild/Visual Studio version | Ship date | Lifecycle |
24-
|------------------|--------------------|--------------|-----------|
25-
| 2.1.5xx | 15.9 | Nov '18 | Aug '21 |
26-
| 2.1.8xx | 16.2 (No VS) | July '19 | Aug '21 |
27-
| 3.1.1xx | 16.4 | Dec '19 | Oct '21 |
28-
| 3.1.4xx | 16.7 | Aug '20 | Dec '22 |
29-
| 5.0.1xx | 16.8 | Nov '20 | Mar '21 |
30-
| 5.0.2xx | 16.9 | March '21 | May '22 |
31-
| 5.0.3xx | 16.10 | May '21 | Aug '21 |
32-
| 5.0.4xx | 16.11 | Aug '21 | May '22 |
33-
| 6.0.1xx | 17.0 | Nov '21 | Nov '24<sup>1</sup> |
34-
| 6.0.2xx | 17.1 | Feb '22 | May '22 |
35-
| 6.0.3xx | 17.2<sup>3</sup> | May '22 | Oct '23 |
36-
| 6.0.4xx | 17.3 | Aug '22 | Nov '24<sup>2</sup> |
37-
| 7.0.1xx | 17.4 | Nov '22 | May '24 |
38-
| 7.0.2xx | 17.5<sup>3</sup> | Feb '23 | May '23 |
39-
| 7.0.3xx | 17.6 | May '23 | May '24 |
40-
| 7.0.4xx | 17.7 | Aug '23 | May '24 |
41-
| 8.0.1xx | 17.8 | Nov '23 | Nov '25<sup>1</sup> |
42-
| 8.0.2xx | 17.9<sup>3</sup> | Feb '24 | May '24 |
43-
| 8.0.3xx | 17.10 | May '24 | TBD |
44-
| 8.0.4xx | 17.11 | Aug '24 | Nov '25<sup>2</sup> |
23+
<!-- markdownlint-disable MD033 -->
24+
<details>
25+
<summary>Expand to see out-of-support .NET versions</summary>
26+
27+
| SDK version | MSBuild/Visual Studio version | Ship date | Lifecycle |
28+
|-------------|-------------------------------|-----------|-----------|
29+
| 2.1.5xx | 15.9 | Nov '18 | Aug '21 |
30+
| 2.1.8xx | 16.2 (No VS) | July '19 | Aug '21 |
31+
| 3.1.1xx | 16.4 | Dec '19 | Oct '21 |
32+
| 3.1.4xx | 16.7 | Aug '20 | Dec '22 |
33+
| 5.0.1xx | 16.8 | Nov '20 | Mar '21 |
34+
| 5.0.2xx | 16.9 | March '21 | May '22 |
35+
| 5.0.3xx | 16.10 | May '21 | Aug '21 |
36+
| 5.0.4xx | 16.11 | Aug '21 | May '22 |
37+
| 7.0.1xx | 17.4 | Nov '22 | May '24 |
38+
| 7.0.2xx | 17.5<sup>3</sup> | Feb '23 | May '23 |
39+
| 7.0.3xx | 17.6 | May '23 | May '24 |
40+
| 7.0.4xx | 17.7 | Aug '23 | May '24 |
41+
42+
</details>
43+
<!-- markdownlint-enable MD033 -->
44+
45+
### Supported .NET versions
46+
47+
| SDK version | MSBuild/Visual Studio version | Ship date | Lifecycle |
48+
|-------------|-------------------------------|-----------|---------------------|
49+
| 6.0.1xx | 17.0 | Nov '21 | Nov '24<sup>1</sup> |
50+
| 6.0.2xx | 17.1 | Feb '22 | May '22 |
51+
| 6.0.3xx | 17.2<sup>3</sup> | May '22 | Oct '23 |
52+
| 6.0.4xx | 17.3 | Aug '22 | Nov '24<sup>2</sup> |
53+
| 8.0.1xx | 17.8 | Nov '23 | Nov '25<sup>1</sup> |
54+
| 8.0.2xx | 17.9<sup>3</sup> | Feb '24 | May '24 |
55+
| 8.0.3xx | 17.10 | May '24 | TBD |
56+
| 8.0.4xx | 17.11 | Aug '24 | Nov '25<sup>2</sup> |
57+
| 9.0.1xx | 17.12 | Nov '24 | May '26<sup>1</sup> |
4558

4659
> [!NOTE]
4760
> Targeting `net6.0` is officially supported in Visual Studio 17.0+ only.
@@ -67,19 +80,19 @@ Starting with .NET SDK 7.0.100 and .NET SDK 6.0.300, a policy has been put into
6780
- 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.
6881

6982
| SDK | Visual Studio version<br/>the SDK ships with | Minimum Visual Studio version | Max TargetFramework in<br/>minimum Visual Studio version | Max TargetFramework in `dotnet` |
70-
|-|-|-|-|-|
71-
| 6.0.100 | 17.0 | 16.11 | Net5.0 | Net6.0 |
72-
| 6.0.200 | 17.1 | 17.0 | Net6.0 | Net6.0 |
73-
| 6.0.300 | 17.2 | 17.0 | Net6.0 | Net6.0 |
74-
| 6.0.400 | 17.3 | 17.0 | Net6.0 | Net6.0 |
75-
| 7.0.100 | 17.4 | 17.3 | Net6.0 | Net7.0 |
76-
| 7.0.200 | 17.5 | 17.4 | Net7.0 | Net7.0 |
77-
| 7.0.300 | 17.6 | 17.4<sup>1</sup> | Net7.0 | Net7.0 |
78-
| 7.0.400 | 17.7 | 17.4 | Net7.0 | Net7.0 |
79-
| 8.0.100 | 17.8 | 17.7 | Net7.0 | Net8.0 |
80-
| 8.0.200 | 17.9 | 17.8 | Net8.0 | Net8.0 |
81-
| 8.0.300 | 17.10 | 17.8 | Net8.0 | Net8.0 |
82-
| 8.0.400 | 17.11 | 17.8 | Net8.0 | Net8.0 |
83+
|---------|-------|------------------|--------|--------|
84+
| 6.0.200 | 17.1 | 17.0 | Net6.0 | Net6.0 |
85+
| 6.0.300 | 17.2 | 17.0 | Net6.0 | Net6.0 |
86+
| 6.0.400 | 17.3 | 17.0 | Net6.0 | Net6.0 |
87+
| 7.0.100 | 17.4 | 17.3 | Net6.0 | Net7.0 |
88+
| 7.0.200 | 17.5 | 17.4 | Net7.0 | Net7.0 |
89+
| 7.0.300 | 17.6 | 17.4<sup>1</sup> | Net7.0 | Net7.0 |
90+
| 7.0.400 | 17.7 | 17.4 | Net7.0 | Net7.0 |
91+
| 8.0.100 | 17.8 | 17.7 | Net7.0 | Net8.0 |
92+
| 8.0.200 | 17.9 | 17.8 | Net8.0 | Net8.0 |
93+
| 8.0.300 | 17.10 | 17.8 | Net8.0 | Net8.0 |
94+
| 8.0.400 | 17.11 | 17.8 | Net8.0 | Net8.0 |
95+
| 9.0.100 | 17.12 | 17.11 | Net8.0 | Net9.0 |
8396

8497
> [!NOTE]
8598
> The table depicts how these versioning rules will be applied going forward, 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&mdash;that is, the minimum required version of Visual Studio for .NET SDK 6.0.100 or 6.0.200 remains 16.10.
@@ -93,13 +106,16 @@ To ensure consistent tooling, you should use `dotnet build` rather than `msbuild
93106
Major versions of the .NET SDK are typically released within a few days of a Visual Studio preview version. While there may 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.
94107

95108
| SDK preview version | Visual Studio version |
96-
|-|-|
97-
| 9.0.100 Preview 1 | 17.10 Preview 1 |
98-
| 9.0.100 Preview 2 | 17.10 Preview 2 |
99-
| 9.0.100 Preview 3 | 17.10 Preview 3 |
100-
| 9.0.100 Preview 4 | 17.11 Preview 1 |
101-
| 9.0.100 Preview 5 | 17.11 Preview 2 |
102-
| 9.0.100 Preview 6 | 17.11 Preview 3 |
109+
|---------------------|-----------------------|
110+
| 9.0.100 Preview 1 | 17.10 Preview 1 |
111+
| 9.0.100 Preview 2 | 17.10 Preview 2 |
112+
| 9.0.100 Preview 3 | 17.10 Preview 3 |
113+
| 9.0.100 Preview 4 | 17.11 Preview 1 |
114+
| 9.0.100 Preview 5 | 17.11 Preview 2 |
115+
| 9.0.100 Preview 6 | 17.11 Preview 3 |
116+
| 9.0.100 Preview 7 | 17.12 Preview 1 |
117+
| 9.0.100 RC 1 | 17.12 Preview 2 |
118+
| 9.0.100 RC 2 | 17.12 Preview 3 |
103119

104120
## Reference
105121

0 commit comments

Comments
 (0)