Megrez7
Megrez7

Reputation: 1477

Roslyn compiler version used for projects missing Microsoft.Net.Compilers

Solution consists of 2 dll libraries, 1 console app and 1 web app. Only the last project, the web one, uses Microsoft.Net.Compilers NuGet package. Package has been updated to version 2.3.0 now, what means C# 7.1 and VB 15.3.

source: Roslyn NuGet packages

As 3 other projects do not have Microsoft.Net.Compilers NuGet package installed, what Roslyn compiler and C# version do they use?

I use VS.Net 2017 15.2 with .NET Framework 4.7, so I would guess it shall C#7.0, but still Microsoft.Net.Compilers in version 2.2 should be installed there, but is not.

Upvotes: 2

Views: 2108

Answers (1)

SLaks
SLaks

Reputation: 888185

The Microsoft.Net.Compilers package overrides (by setting properties in your project file) the default version of Roslyn included with MSBuild / Visual Studio.

Regular class libraries that don't reference it are compiled using the Roslyn build included with your version of Visual Studio & MSBuild.

Upvotes: 7

Related Questions