使用 (XALM) 构建过程模板在 TFS 2013 中将工具路径设置为 MSBuild 2019

Set toolpath to MSBuild 2019 in a TFS 2013 using (XALM) build process templates

TL;DR:清理 Windows 构建服务器,安装了 MS Build Tools 2019 和 TFS 2013。 构建日志显示 异常消息:找不到文件:MSBuild.exe(类型 FileNotFoundException)

如何在 TFS 2013 上的 XAML 文件中设置 MSBUILD 工具路径,配置为使用 MSBuild 2019 以及在我的开发箱上安装的 Visual Studio 2019 Enterprise。

更多信息:

我们的 TFS 构建例程 运行 2013 版有一个多服务器设置。

一个控制器和几个代理服务器,没什么特别的。 最近我添加了另一个用于 GUI 测试 - 我需要代理服务处于交互模式。

目前的步数:

已安装 TFS 2013,包括两个代理 - 链接到主控制器。 我安装 Build Tools 2019 版 我添加了标签来控制构建分发。

激活了一个版本,剩下的就是历史了。

我在这上面花了四天(令人沮丧)——我已经阅读了我能找到的所有 Stack Overflow TFS set toolpath 条目,以及一大堆奇怪的论坛,然而 none 似乎在这里挠了我的痒。

见;每个人都在 XAML 中谈论这个条目,上面写着 toolpath (或类似的) - 但是;我没有看到它。我们使用 TfvcTemplate.12.Xaml.

的一个小改动版本

许多人还谈论这个用于编辑 XALM 文件的 GUI 工具,我可以在其中看到所有可用的不同选项(我想)- 有人也可以帮助我吗?它肯定不能与 2019 Enterprise 开箱即用???? 所以;我安装了这个 Extension Process Template Editor,但是当我点击 XAML 文件时当然没有任何反应,只是更多 XML :)

我现在在新服务器上添加了一些路径,其中我看到安装了 msbuild.exe 的实例(请 MS/.NET 一起行动)

C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\MSBuild\Current\Bin
C:\Program Files (x86)\MSBuild.0\Bin

请尽量不要第一眼就把它当成重复的。我知道它与其他问题相似 - 但是;细节决定成败。

Set toolpath to MSBuild 2019 in a TFS 2013 using (XALM) build process templates

如您所知,旧 Visual Studio 版本将 msbuild 安装到 C:\Program Files (x86)\MSBuild\<version>\bin 中,显然 RunMSBuild activity 使用 ToolVersion + ToolArchitecture 来计算此路径。

VS 2019 构建工具安装它 C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\MSBuild\Current\Bin 并且 RunMSBuild 无法再计算正确的路径。您不能使用旧的 DefaultTemplate12.xaml 与 VS2019 构建工具集成。

要使其正常工作,您可以尝试修改 TFSBuildServiceHost.exe.config 并且您必须在构建服务器上安装 VS 2019 构建工具或 VS2019 版本才能正常工作。

更详细的步骤请按照Jonesy2488在这个link中的回答:How to get VS 2017 working with TFS 2017 XAML Builds.

此外,我们也可以尝试使用MSBuild任务而不是Visual Studio构建任务,然后指定MSBuild 16.0的位置:

希望对您有所帮助。