解决方案包含 2 个 dll 库、1 个控制台应用程序和 1 个网络应用程序。只有最后一个项目,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 应该安装在那里,但没有。
最佳答案
Microsoft.Net.Compilers
包覆盖(通过在项目文件中设置属性)MSBuild/Visual Studio 中包含的默认版本的 Roslyn。
不引用它的常规类库是使用您的 Visual Studio 和 MSBuild 版本中包含的 Roslyn 构建编译的。
关于c# - 用于缺少 Microsoft.Net.Compilers 的项目的 Roslyn 编译器版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080482/