【发布时间】:2017-11-13 03:45:47
【问题描述】:
我们在本地安装了 Team Foundation Server (TFS) 2015。我们希望使用 Visual Studio 2017 来利用最新的 C# 语言功能。我们还没有准备好升级到 TFS 2017。允许在 TFS 2015 中构建最新的 C# 语言功能需要哪些步骤?
【问题讨论】:
标签: c# tfs tfs-2015 c#-7.0 visual-studio-2017
我们在本地安装了 Team Foundation Server (TFS) 2015。我们希望使用 Visual Studio 2017 来利用最新的 C# 语言功能。我们还没有准备好升级到 TFS 2017。允许在 TFS 2015 中构建最新的 C# 语言功能需要哪些步骤?
【问题讨论】:
标签: c# tfs tfs-2015 c#-7.0 visual-studio-2017
我没有完全遵循这些步骤,但根据我所学到的,我认为它们会起作用:
<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!)
<mtba:RunMSBuild DisplayName="Run MSBuild" OutputLocation="[OutputLocation]" CleanBuild="[CleanBuild]" CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", AdvancedBuildSettings.GetValue(Of String)("MSBuildArguments", String.Empty))]" ConfigurationsToBuild="[ConfigurationsToBuild]" ProjectsToBuild="[ProjectsToBuild]" ToolVersion="15.0" ToolPlatform="[AdvancedBuildSettings.GetValue(Of String)("MSBuildPlatform", "Auto")]" RunCodeAnalysis="[AdvancedBuildSettings.GetValue(Of String)("RunCodeAnalysis", "AsConfigured")]" />
【讨论】:
只需安装最新版本的 Microsoft.Net.Compilers 块包
https://www.nuget.org/packages/Microsoft.Net.Compilers>> .Net 编译器包。引用此包将导致使用包中包含的 C# 和 Visual Basic 编译器的特定版本构建项目,而不是任何系统安装的版本。
此包可用于编译针对任何平台的代码,但只能使用桌面 .NET 4.6+ Full Framework 运行。
【讨论】: