TeamCity 无法使用 C# 7 构建项目

TeamCity fails to build projects using C# 7

当我在我们最新的代码更新中添加新的输出变量语法时,TeamCity 抛出错误:

if (Enum.TryParse(input, out MyProject.ClassificationType classification))
{
    result.Classification = classification;
}

TeamCity 抛出此错误:

[Csc] MyProject\MyCode.cs(125, 111): error CS1003: Syntax error, ',' expected

代码在 Visual Studio 中构建并运行良好。

TeamCity Agent 计算机上的 MSBuild 已过时,无法使用 Microsoft Build Tools 2015。

我可以通过下载并安装新的 Build Tools for Visual Studio 2017 来解决这个问题:

https://www.visualstudio.com/downloads/ -> Other Tools and Frameworks -> Build Tools for Visual Studio 2017 -> Download

或通过此处绕过垃圾邮件:https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

更新 TeamCity 的构建步骤以使用 MSBuild 15 或 Visual Studio 2017 进行构建。

按照 Kcoder 的建议安装 Visual Studio 2017 的构建工具, 之后调整 Team City 中的构建步骤(示例):

如果您使用 MSBuild 作为构建步骤,您可以调整类似的设置。