运行 Roslyn on Teamcity 需要什么?

What is needed to run Roslyn on Teamcity?

昨天发布了 Visual Studio 2015,我的开发团队对升级和使用新的 C# 6.0 功能非常感兴趣,因为我们都有 MSDN,所以这绝对是可能的。

但是我担心如果不执行一些工作来升级构建代理,我们的 Teamcity 构建将会失败。

那么有没有人经历过这个过程,或者知道需要什么?

编辑: 我对 Teamcity 进行了一些研究,并注意到在版本 9.0 和 9.1 的 What's New 页面上它增加了对 VS 2015 的支持,因此也是如此涵盖需要什么?而且由于我们是 运行 TeamCity 8.0,是否有任何方法可以在不升级的情况下添加 Roslyn 支持?

您可以在项目中安装 Microsoft Build Tools 2015, or else install the Microsoft.Net.Compilers、NuGet 包以使用 Roslyn 编译器。

这是对@Kevin 回答的补充。

  • 安装Microsoft Build Tools 2015
  • 转到{TeamCity 文件夹}\{构建代理文件夹}\conf
  • 编辑buildAgent.properties添加以下行

    MSBuildTools14.0_x64_Path =C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\amd64 MSBuildTools14.0_x86_Path =C:\\Program Files (x86)\\MSBuild\\14.0\\Bin

  • 保存

  • 您应该会看到代理配置参数的变化

如果您已经安装了 Microsoft Build Tools 2015 and you are still getting the build errors about C# 6.0, try to install a newer .NET version on your TeamCity's machine, like .NET 4.6.1

我尝试了此处列出的所有内容,但仍然不断出现编译器错误。我必须按照 here 采取的步骤最终使用 Roslyn 进行编译:

Rename C:\Program Files (x86)\MSBuild.0 => C:\Program Files (x86)\MSBuild.0-old
Copy C:\Program Files (x86)\MSBuild.0 => C:\Program Files (x86)\MSBuild.0