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

时间:2017-06-11 16:50:44

标签: c# tfs tfs2015 c#-7.0 visual-studio-2017

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

2 个答案:

答案 0 :(得分:2)

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

  1. 在XAML构建配置服务器上安装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

     

(如果没有这个,我永远都不会知道   post。谢谢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;)]" />

答案 1 :(得分:0)

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

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

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