解决方案包括2个dll库,1个控制台应用程序和1个Web应用程序。只有最后一个项目,即web项目,使用Microsoft.Net.Compilers
NuGet包。软件包已经更新到版本2.3.0,这意味着C#7.1和VB 15.3。
由于其他3个项目没有安装Microsoft.Net.Compilers NuGet包,他们使用的是Roslyn编译器和C#版本吗?
我使用VS.Net 2017 15.2和.NET Framework 4.7,所以我猜它应该是C#7.0,但是版本2.2中的Microsoft.Net.Compilers应该安装在那里,但不是。
答案 0 :(得分:7)
Microsoft.Net.Compilers
包覆盖(通过在项目文件中设置属性)MSBuild / Visual Studio附带的默认Roslyn版本。
不引用它的常规类库是使用您的Visual Studio版本中包含的Roslyn构建编译的。的MSBuild。