【问题标题】:C# version error when building with msbuild, ok with Visual Studio使用 msbuild 构建时出现 C# 版本错误,使用 Visual Studio 可以
【发布时间】:2019-01-31 18:15:18
【问题描述】:

我可以使用 Visual Studio 2017 构建我的项目;但是当我使用 msbuild 15 时,我得到了这个错误:

错误 CS8306:推断元组元素名称“值”。请使用语言版本 7.1 或更高版本通过推断名称访问元素。

我的项目文件中语言版本设置为7.3;为什么我在运行 msbuild 时会出现这个错误?

【问题讨论】:

  • 您使用的是什么 .net 框架或 .net 核心版本
  • 框架 4.7.2
  • 你试过像这样构建它吗? msbuild YourSolution.sln /p:TargetFrameworkVersion=v4.7.2
  • 您是否设置了 Debug 和 Release 的语言版本?您使用的是最新版本的 MSBuild?
  • 您需要使用 msbuild 15.7.180。你运行的是什么版本?

标签: c# msbuild


【解决方案1】:

我想通了 - 感谢 Olivier Jacot-Descombes 建议我查看项目属性!

除了为所有配置(调试/发布),正如他所建议的那样。

【讨论】:

    【解决方案2】:

    MSbuild 15 不支持.NET Framework 4.7.2

    根据 GitHub 问题,这是在 5 月合并的:github.com/Microsoft/msbuild/issues/3285

    版本15.7.180 应该可以工作:https://github.com/Microsoft/msbuild/releases/tag/v15.7.180.61344

    编辑:版本 15.8.166.59604 随附于 4 月发布的 Visual Studio 15.8。不过,对 .NET Framework 4.7.2 的支持已于 5 月实施。

    【讨论】:

    猜你喜欢
    • 2015-11-15
    • 2013-11-05
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    相关资源
    最近更新 更多