繁体   English   中英

如何在Team Foundation Server 2015中启用C#7版本?

[英]How do I enable C# 7 builds in Team Foundation Server 2015?

我们在本地安装了Team Foundation Server(TFS)2015。 我们希望使用Visual Studio 2017来利用最新的C#语言功能。 我们尚未准备好升级到2017年TFS。在TFS 2015中构建最新C#语言功能所需的步骤是什么?

我没有完全按照这些步骤,但根据我所学到的,我认为他们会有效:

  1. 在XAML Build Configuration服务器上安装Visual Studio 2017 Build Tools
  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>

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

(如果没有这篇文章 ,我绝不会想到这一点。谢谢jonesy2488 !)

  1. 重新启动XAML Build Configuration服务。
  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;)]" />

只需安装最新版本的Microsoft.Net.Compilers nugget包

https://www.nuget.org/packages/Microsoft.Net.Compilers >> .Net Compilers包。 引用此包将导致使用包中包含的特定版本的C#和Visual Basic编译器构建项目,而不是任何系统安装版本。

此程序包可用于编译面向任何平台的代码,但只能使用桌面.NET 4.6+ Full Framework运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM