在Teamcity上运行Roslyn需要什么?

时间:2015-07-23 17:07:04

标签: teamcity visual-studio-2015 roslyn c#-6.0

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

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

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

编辑:我对Teamcity进行了一些研究,并注意到版本9.0和9.1的What's New页面上它增加了对VS 2015的支持,因此它涵盖了所需的内容?此外,由于我们运行的是TeamCity 8.0,有没有办法在不升级的情况下添加Roslyn支持?

4 个答案:

答案 0 :(得分:10)

您可以安装Microsoft Build Tools 2015,或者在项目中安装Microsoft.Net.Compilers,NuGet包以使用Roslyn编译器。

答案 1 :(得分:3)

这是对@Kevin回答的补充。

  • 安装Microsoft Build Tools 2015
  • 转到{TeamCity Folder} \ {Build Agent Folder} \ 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

  • 保存

  • 您应该会看到代理配置参数的更改

答案 2 :(得分:1)

如果您已经安装了Microsoft Build Tools 2015并且仍然遇到有关C#6.0的构建错误,请尝试在TeamCity的计算机上安装较新的.NET版本,例如。NET 4.6.1

答案 3 :(得分:0)

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

  def google_analytics_event(category:, action:, label:, value:)
    flash.now[:event] =  "<script>ga('send', 'event', '#{category}', '#{action}', '#{label}', '#{value}')</script>".html_safe
  end