簡體   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