首页 > 解决方案 > 使用 (XALM) 构建过程模板在 TFS 2013 中将工具路径设置为 MSBuild 2019

问题描述

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

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

更多信息:

我们为运行 2013 版的 TFS 构建例程设置了多服务器。

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

到目前为止的步骤:

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

激活一个构建,剩下的就是历史了。

我已经有四天(令人沮丧)了——我已经阅读了我能找到的每一个 Stack Overflow TFS设置工具路径条目,以及一大堆奇怪的论坛,但似乎没有一个能引起我的注意。

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

许多人还谈论这个用于编辑 XALM 文件的 GUI 工具,在那里我可以看到所有可用的不同选项(我想)——有人也可以帮助我吗?它肯定不能与 2019 年企业开箱即用????所以; 我安装了这个扩展过程模板编辑器,但是当我单击 XAML 文件时当然什么也没有发生,只是更多的 XML :)

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

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin
C:\Program Files (x86)\MSBuild\12.0\Bin

乍一看,请尽量不要把它写成重复。我知道它与其他问题相似 - 但是;魔鬼在细节中。

标签: c#.nettfsmsbuildvisual-studio-2019

解决方案


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

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

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

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

更多详细步骤请按照此链接中 Jonesy2488 的回答:如何让 VS 2017 与 TFS 2017 XAML 构建一起工作

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

在此处输入图像描述

希望这可以帮助。


推荐阅读