You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/wiki/NuGet-packages.md
+41Lines changed: 41 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,46 @@ This package is primarily intended as a method for rapidly shipping hotfixes to
13
13
Note: this package is intended as a replacement for Microsoft.Net.Compilers (which is a Windows-only package) and Microsoft.NETCore.Compilers. Those packages are now deprecated and will be deleted in the future.
14
14
15
15
## Versioning
16
+
Starting on Roslyn versions `5.0` and above, Roslyn NuGet packages are shipped with the .NET SDK instead of VS.
17
+
18
+
Proposal - A.B.C-D
19
+
* A = VS Major Version (same as before)
20
+
* B = VS Minor Version (same as before)
21
+
* C = Our own Patch version if we need to increment for any reason, by default 0.
22
+
* D = VS Preview version (same as before)
23
+
24
+
VS version will be based on the branch that the VMR consumed Roslyn from. For example, for .NET 11 Preview 1, it would be 5.1.0-1.
25
+
Since this is the VS version, a specific minor version may never have a full stable version published (e.g. VS may ship a stable while we're still shipping .NET previews and we go from
26
+
5.1.0-4 on .NET 11 Preview 2 -> 5.2.0-1 on .NET 11 Preview 3).
27
+
28
+
What if we didn't update every preview?
29
+
* A = VS Major Version (same as before)
30
+
* B = VS Minor Version (same as before)
31
+
* C = Our own patch version if we need to increment our packages, default 0.
32
+
* D = Replace by VMR version?
33
+
34
+
Still possible that a particular minor version of our package has no stable version (and that it changes between SDK releases). For example .NET 9 uses both VS 17.13 and 17.14. So no stable package may exist for say 5.14 (and the next stable Roslyn is 5.15)
35
+
Technically it is also possible for the major version to change between SDK releases - but that is much less common, and generally the new major VS will ship with a new stable SDK that we will have packages for.
36
+
37
+
Might need to have some property we pull from the VMR to specify which main .NET version the package is for. While unlikely, if both .NET 9 feature bands and .NET 10 are pulling from Roslyn main and both produce stable, GA packages then we will have duplicate packages (both will produce Roslyn with the full version).
38
+
39
+
Maybe can do A.B.C-D-E
40
+
* A = VS Major Version
41
+
* B = .NET Major Version
42
+
* C = .NET Patch Version
43
+
* D = .NET Preview Info
44
+
* E = VS Minor
45
+
46
+
Can't bump major w/out breaking change in VS I believe. Unless we split assembly version from package Major version. But if we could, maybe just fully opt in to .net version
47
+
A.B.C-D-E (5.0.100-Preview7-18.1)
48
+
* A = .NET Major, starting with 5 = .NET 10.
49
+
* B = .NET Minor
50
+
* C = .NET Patch
51
+
* D = .NET PreviewInfo
52
+
* E = VS Major.Minor
53
+
54
+
Or even remove E entirely. But definitely need to separate assembly version then.
55
+
16
56
Below are the versions of the language available in the NuGet packages. Remember to set a specific language version (or "latest") if you want to use one that is newer than "default" (ie. latest major version).
17
57
18
58
- Versions `1.x` mean C# 6.0 and VB 14 (Visual Studio 2015 and updates). For instance, `1.3.2` corresponds to the most recent update (update 3) of Visual Studio 2015.
@@ -52,6 +92,7 @@ Below are the versions of the language available in the NuGet packages. Remember
52
92
- Version `4.11` includes C# 12.0 (Visual Studio 2022 version 17.11, .NET 8)
53
93
- Version `4.12` includes C# 13.0 (Visual Studio 2022 version 17.12, .NET 9)
54
94
- Version `4.13` includes C# 13.0 (Visual Studio 2022 version 17.13, .NET 9)
95
+
- Version `4.14` includes C# 13.0 (Visual Studio 2022 version 17.14, .NET 9)
55
96
56
97
See the [history of C# language features](https://github.com/dotnet/csharplang/blob/main/Language-Version-History.md) for more details.
0 commit comments