Skip to content

Latest commit

 

History

History
83 lines (63 loc) · 6.33 KB

NuGet-packages.md

File metadata and controls

83 lines (63 loc) · 6.33 KB

Overview

A number of NuGet packages are published from the Roslyn repo:

  • Official released packages are published to nuget.org, when Visual Studio releases a new RTM or Preview version.
  • Pre-release packages are published daily to Azure Devops.

Microsoft.Net.Compilers.Toolset

This package contains the C# and Visual Basic compiler toolset for .NET Desktop and .NET Core. This includes the compilers, msbuild tasks and targets files. When installed in a project this will override the compiler toolset installed in MSBuild.

This package is primarily intended as a method for rapidly shipping hotfixes to customers. Using it as a long term solution for providing newer compilers on older MSBuild installations is explicitly not supported. That can and will break on a regular basis.

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.

Versioning

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).

  • 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.
  • Version 2.0 means C# 7.0 and VB 15 (Visual Studio 2017 version 15.0).
  • Version 2.1 is still C# 7.0, but with a couple fixes (Visual Studio 2017 version 15.1).
  • Version 2.2 is still C# 7.0, but with a couple more fixes (Visual Studio 2017 version 15.2). Language version "default" was updated to mean "7.0".
  • Version 2.3 means C# 7.1 and VB 15.3 (Visual Studio 2017 version 15.3). For instance, 2.3.0-beta1 corresponds to Visual Studio 2017 version 15.3 (Preview 1).
  • Version 2.4 is still C# 7.1 and VB 15.3, but with a couple fixes (Visual Studio 2017 version 15.4).
  • Version 2.6 means C# 7.2 and VB 15.5 (Visual Studio 2017 version 15.5).
  • Version 2.7 means C# 7.2 and VB 15.5, but with a number of fixes (Visual Studio 2017 version 15.6).
  • Version 2.8 means C# 7.3 (Visual Studio 2017 version 15.7)
  • Version 2.9 is still C# 7.3 and VB 15.5, but with more fixes (Visual Studio 2017 version 15.8)
  • Version 2.10 is still C# 7.3 and VB 15.5, but a couple more fixes (Visual Studio 2017 version 15.9)
  • Version 3.0 includes a preview of C# 8.0 (Visual Studio 2019 version 16.0), but 2.11 was used for preview1.
  • Version 3.1 includes a preview of C# 8.0 (Visual Studio 2019 version 16.1)
  • Version 3.2 includes a preview of C# 8.0 (Visual Studio 2019 version 16.2)
  • Version 3.3 includes C# 8.0 (Visual Studio 2019 version 16.3, .NET Core 3.0)
  • Version 3.4 includes C# 8.0 (Visual Studio 2019 version 16.4, .NET Core 3.1)
  • Version 3.5 includes C# 8.0 (Visual Studio 2019 version 16.5, .NET Core 3.1)
  • Version 3.6 includes C# 8.0 (Visual Studio 2019 version 16.6, .NET Core 3.1)
  • Version 3.7 includes C# 8.0 (Visual Studio 2019 version 16.7, .NET Core 3.1)
  • Version 3.8 includes C# 9.0 (Visual Studio 2019 version 16.8, .NET 5)
  • Version 3.9 includes C# 9.0 (Visual Studio 2019 version 16.9, .NET 5)
  • Version 3.10 includes C# 9.0 (Visual Studio 2019 version 16.10, .NET 5)
  • Version 3.11 includes C# 9.0 (Visual Studio 2019 version 16.11, .NET 5)
  • Version 4.0 includes C# 10.0 (Visual Studio 2022 version 17.0, .NET 6)
  • Version 4.1 includes C# 10.0 (Visual Studio 2022 version 17.1, .NET 6)
  • Version 4.2 includes C# 10.0 (Visual Studio 2022 version 17.2, .NET 6)
  • Version 4.3.1 includes C# 10.0 (Visual Studio 2022 version 17.3, .NET 6)
  • Version 4.4 includes C# 11.0 (Visual Studio 2022 version 17.4, .NET 7)
  • Version 4.5 includes C# 11.0 (Visual Studio 2022 version 17.5, .NET 7)
  • Version 4.6 includes C# 11.0 (Visual Studio 2022 version 17.6, .NET 7)
  • Version 4.7 includes C# 11.0 (Visual Studio 2022 version 17.7, .NET 7)
  • Version 4.8 includes C# 12.0 (Visual Studio 2022 version 17.8, .NET 8)
  • Version 4.9.2 includes C# 12.0 (Visual Studio 2022 version 17.9, .NET 8)
  • Version 4.10 includes C# 12.0 (Visual Studio 2022 version 17.10, .NET 8)

See the history of C# language features for more details.

See the .NET SDK, MSBuild, and Visual Studio versioning docs page for details of SDK versioning.

Other packages

A few other packages are relevant or related to Roslyn, but are not produced from the Roslyn repo.

ValueTuple

To facilitate adoption of C# 7.0 and VB 15 tuples, the required underlying types were made available as a standalone package (see ValueTuple on NuGet). But those types were progressively built into newer versions of the different .NET frameworks.

Version that includes ValueTuple
Full/desktop framework .NET Framework 4.7 and Windows 10 Creators Edition Update (RS2)
Core .NET Core 2.0
Mono Mono 5.0
.Net Standard .Net Standard 2.0

The package supports multiple target frameworks, providing an implementation for older targets including PCL (moniker portable_net40+sl4+win8+wp8, where ValueTuple.dll only depends on mscorlib) and .NET Standard 1.0 (netstandard1.0). For newer targets such as net47, netstandard2.0, netcoreapp2.0, the package provides type forwards to the in-box implementation.

The above describes version 4.4.0 of the ValueTuple package. The package is produced from the corefx repo.

System.Memory

This package will contain ref-like implementations of Span<T> and ReadOnlySpan<T> that work with C# 7.2 ref features.

Microsoft.CodeDom.Providers.DotNetCompilerPlatform

This package is produced by the ASP.NET team. You can find it here on NuGet.