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

问题描述 投票:0回答:3

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

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

  • 请提供适用于 TFS2013(更新 3)的完整 XAML 文件,并具有明确的自定义 msbuild 路径。

更多信息:

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

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

到目前为止的步骤:

安装了 TFS 2013,包括两个代理 - 连接到主控制器。 我安装构建工具版本 2019 我添加了标签来控制构建分布。

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

我在这方面花了四天(令人沮丧)——我已经阅读了我能找到的所有 Stack Overflow TFS set toolpath 条目,以及一大堆奇怪的论坛,但似乎没有一个能解决我的问题。

  • 我什至将您在下面看到的两条路径添加到 Windows 环境 PATH 变量中。我不确定这还有什么作用。

看;每个人都在谈论 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 Studio\2019\BuildTools\MSBuild\Current\Bin
C:\Program Files (x86)\MSBuild\12.0\Bin

请尽量不要乍一看就将其视为重复项。我知道它与其他问题类似 - 但是;细节决定成败。

c# .net tfs msbuild visual-studio-2019
3个回答
2
投票

使用 (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 Builds一起工作

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


1
投票

我通过将 TfvcTemplate.12.xaml 中 mtba:RunMSBuild 的 ToolVersion 更改为所需版本并将 MSBuildToolsPath 添加到 Windows 注册表来使其工作。

15.0 和 16.0 的注册表设置

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\15.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\MSBuild\\15.0\\Bin\\amd64"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\16.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin\\amd64"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions]
    
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\15.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\MSBuild\\15.0\\Bin"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\16.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin"

0
投票

除了前面的答案之外,以下路径适用于 Visual Studio 2022 独立构建工具...

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\17.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\MSBuild\\Current\\Bin\\amd64"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\17.0]
"MSBuildToolsPath"="C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\MSBuild\\Current\\Bin"

注意:如果计算机上安装了 Visual Studio,则构建工具的路径将有所不同。 “BuildTools”文件夹将具有“Edition”标题。

32 位路径

C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin

64 位路径

C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\amd64

将“社区”替换为您的 Visual Studio 版本,例如“专业”或“企业”(如果不同)

© www.soinside.com 2019 - 2024. All rights reserved.