【问题标题】:Roslyn compiler version used for projects missing Microsoft.Net.Compilers用于缺少 Microsoft.Net.Compilers 的项目的 Roslyn 编译器版本
【发布时间】:2017-07-13 12:22:11
【问题描述】:

解决方案由 2 个 dll 库、1 个控制台应用程序和 1 个 Web 应用程序组成。只有最后一个项目,即 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,但不是。

【问题讨论】:

    标签: c# .net visual-studio roslyn


    【解决方案1】:

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

    不引用它的常规类库使用您的 Visual Studio 和 MSBuild 版本中包含的 Roslyn 构建进行编译。

    【讨论】:

    • 我不相信这是真的。例如,为了测试一周前的 C# 7.1 代码,我在项目中添加了一个 Microsoft.Net.Compilers 预发行版,它编译得很好。 Intellisense 仍然显示错误,但实际构建工作正常(同样可以从命令行工作)。
    • 很高兴我没有因为某种原因感到困惑 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多