Roslyn编译器版本用于缺少Microsoft.Net.Compilers的项目

Meg*_*ez7 2 .net c# visual-studio roslyn

解决方案包括2个dll库,1个控制台应用程序和1个Web应用程序.只有最后一个项目,即web项目,使用Microsoft.Net.CompilersNuGet包.软件包已经更新到版本2.3.0,这意味着C#7.1和VB 15.3.

来源:Roslyn NuGet包

由于其他3个项目没有安装Microsoft.Net.Compilers NuGet包,他们使用了什么Roslyn编译器和C#版本?

我使用VS.Net 2017 15.2和.NET Framework 4.7,所以我猜它应该是C#7.0,但是应该在那里安装2.2版本的Microsoft.Net.Compilers,但事实并非如此.

SLa*_*aks 7

Microsoft.Net.Compilers程序包将覆盖(通过在项目文件中设置属性)MSBuild/Visual Studio附带的默认Roslyn版本.

使用您的Visual Studio和MSBuild版本附带的Roslyn构建编译不引用它的常规类库.