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

How do I enable C# 7 builds in Team Foundation Server 2015?(如何在 Team Foundation Server 2015 中启用 C# 7 构建?)
本文介绍了如何在 Team Foundation Server 2015 中启用 C# 7 构建?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在本地安装了 Team Foundation Server (TFS) 2015.我们希望使用 Visual Studio 2017 来利用最新的 C# 语言功能.我们还没有准备好升级到 TFS 2017.允许在 TFS 2015 中构建最新的 C# 语言功能需要哪些步骤?

解决方案

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

  1. 安装 Visual Studio 2017 构建工具XAML 构建配置服务器
  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><msbuild 工具集><工具集工具版本="15.0"><property name="MSBuildToolsPath" value="C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin"/></工具集><工具集工具版本="最新"><property name="MSBuildToolsPath" value="C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin"/></工具集></msbuildToolsets>

<块引用>

C:Program FilesMicrosoft Team Foundation Server14.0ToolsTFSBuildServiceHost.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;)]"/>

We have Team Foundation Server (TFS) 2015 installed on-premises. We would like to use Visual Studio 2017 to take advantage of the latest C# language features. We are not ready to upgrade to TFS 2017. What are the steps required to allow the latest C# language features to build in TFS 2015?

解决方案

I didn't follow these steps exactly, but based on what I have learned, I think they would have worked:

  1. Install Visual Studio 2017 Build Tools on the XAML Build Configuration server
  2. Add these lines to the TFSBuildServiceHost.exe.config file:

  <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 Studio2017BuildToolsMSBuild15.0Bin" />
    </toolset>
    <toolset toolsVersion="latest">
      <property name="MSBuildToolsPath" value="C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin" />
    </toolset>
  </msbuildToolsets>

C:Program FilesMicrosoft Team Foundation Server 14.0ToolsTFSBuildServiceHost.exe.config

(I never would have figure that out without this post. Thank you jonesy2488!)

  1. Restart the XAML Build Configuration service.
  2. Change the XAML Build Process Template to include the ToolVersion="15.0" parameter:

<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;)]" />

这篇关于如何在 Team Foundation Server 2015 中启用 C# 7 构建?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)