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

标签 c# .net visual-studio roslyn

解决方案包含 2 个 dll 库、1 个控制台应用程序和 1 个网络应用程序。只有最后一个项目,web 项目,使用 Microsoft.Net.Compilers NuGet 包。软件包现已更新到版本 2.3.0,即 C# 7.1 和 VB 15.3。

来源:Roslyn NuGet packages

由于其他 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/

相关文章:

c++ - 在 C++ 中使用 HTTPS 发送请求

c++ - 如何隐藏类的私有(private)成员?

c# - 无法让 ListBox 和 UpdateTarget 工作

c# - 尝试使用 C# 将 int[] 转换为 int[,]

.net - 用于在 .NET 中可视化对象图的库

c# - 本地化 - 在 wpf 应用程序中更改语言

c# - 如何检测到 StackOverflowException?

c# - 排序元组列表时的默认行为是什么?

c# - 容器放大时如何放大标签

javascript - 将 Javascript 函数转换为 Typescript,包括 getComputedTextLength()