如何在Team Foundation Server 2015中启用C#7构建?

Rob*_*bin 5 c# tfs tfs-2015 c#-7.0 visual-studio-2017

我们已经在本地安装了Team Foundation Server(TFS)2015。我们想使用Visual Studio 2017来利用最新的C#语言功能。我们尚未准备好升级到TFS2017。要在TFS 2015中构建最新的C#语言功能,需要执行哪些步骤?

Rob*_*bin 5

我没有完全按照这些步骤操作,但是根据我所学到的知识,我认为它们会起作用:

  1. 在XAML生成配置服务器上安装Visual Studio 2017生成工具
  2. 将这些行添加到TFSBuildServiceHost.exe.config文件中:
  <configSections>
    <section name="msbuildToolsets" type="Microsoft.Build.Evaluation.ToolsetConfigurationSection, Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" requirePermission="false" />
  </configSections>
  <msbuildToolsets>
    <toolset toolsVersion="15.0">
      <property name="MSBuildToolsPath" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" />
    </toolset>
    <toolset toolsVersion="latest">
      <property name="MSBuildToolsPath" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" />
    </toolset>
  </msbuildToolsets>
Run Code Online (Sandbox Code Playgroud)

C:\ Program Files \ Microsoft Team Foundation Server 14.0 \ Tools \ TFSBuildServiceHost.exe.config

(如果没有这篇文章,我永远都不会想出来 。谢谢jonesy2488!)

  1. 重新启动XAML生成配置服务。
  2. 更改XAML生成过程模板以包含ToolVersion =“ 15.0”参数:
<mtba:RunMSBuild DisplayName="Run MSBuild" OutputLocation="[OutputLocation]" CleanBuild="[CleanBuild]" CommandLineArguments="[String.Format(&quot;/p:SkipInvalidConfigurations=true {0}&quot;, AdvancedBuildSettings.GetValue(Of String)(&quot;MSBuildArguments&quot;, String.Empty))]" ConfigurationsToBuild="[ConfigurationsToBuild]" ProjectsToBuild="[ProjectsToBuild]" ToolVersion="15.0" ToolPlatform="[AdvancedBuildSettings.GetValue(Of String)(&quot;MSBuildPlatform&quot;, &quot;Auto&quot;)]" RunCodeAnalysis="[AdvancedBuildSettings.GetValue(Of String)(&quot;RunCodeAnalysis&quot;, &quot;AsConfigured&quot;)]" />
Run Code Online (Sandbox Code Playgroud)