【问题标题】:TFS build agent cannot find AXImp.exeTFS 构建代理找不到 AXImp.exe
【发布时间】:2019-11-24 16:14:54
【问题描述】:

使用 MSBuild 14.0 的 TFS 构建代理失败并显示“错误 MSB3091:任务失败,因为未找到“AxImp.exe””,而 SDK 已安装且 AxImp.exe 存在。

错误表明它无法在“注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools-x86 的 InstallationFolder 值中指定的位置”下的 bin 中找到文件

该位置没有“Microsoft SDKs”节点,但它确实存在于 Wow6432Node 下:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\

此节点包含对 WinSDK-NetFx40Tools-x86 和 WinSDK-NetFx40Tools-x64 位置的引用。

MSBuild 是否在错误的注册表位置中查找? 我可以配置构建以使其定位 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 工具 要么 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64 找到 AxImp.exe 以及它对 SDK 的期望?

背景:

到目前为止,我们的开发基于 Windows 10、Visual Studio 2017,目标是 .Net Framework 4.6.2。我现在正在尝试在 Windows Server 2012 R2 Standard 上自动构建。

我已安装 Microsoft Build Tools 2015、Microsoft .Net Framework 4.6.2 SDK、.Net Framework 4.6.2 Targeting Pack 和 .Net Framework 4.6.2 Targeting Pack (ENU)。

在追查了许多缺失的依赖项之后,已经成功创建了构建代理并获得了几乎成功的构建。

【问题讨论】:

  • Waidaminit 错误是指“\NETFXSDK\4.6\WinSDK-NetFx40Tools-x86”,而不是 4.6.2。
  • 我也安装了 Windows 4.6 SDK,但不知道如何让 msbuild 找到它。我找不到对 4.6 版本产生依赖的原因,我认为它是我们的软件引用的第三方 DLL。

标签: msbuild tfsbuild


【解决方案1】:

TFS 构建代理找不到 AXImp.exe

(根据报错信息,都是常见的错误,对于这个问题我们无法给出最直接的正确答案,只能给你一些排查问题。为了避免全面失去联系——旅行 cmets,我将这些故障排除作为答案而不是 cmets。)

  • 确保在构建定义中使用 MSBuild 任务 而不是 Visual Studio 构建任务。
  • 如果您使用 Visual Studio 2015 构建项目,则在 MSBuild 任务中使用 MSBuild 14.0 (C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe) 而不是 4.0 (C:\Windows\Microsoft.NET\Framework\v4.0.30319)。
  • 检查Project节点的ToolsVersion是不是14.0而不是4.0:

    <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
  • 在您的构建服务器上安装 Visual Studio 2015。

  • 手动将上述注册表项更改为正确的位置,其中存在 AXImp.exe。

如果以上对你没有帮助,请分享MSBuild任务定义的配置,你在构建代理上安装的软件,并尝试在构建服务器上使用Visual Studio 2015构建项目。

希望这会有所帮助。

【讨论】:

  • 谢谢。代理日志确认工具版本:05:40:16.391800 BaseLogger.LogConsoleMessage(scope.JobId = 53993005-8a9f-452f-bd17-ac53de0ad342, message = MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program文件 (x86)\MSBuild\14.0\bin'.)
  • @LesFerguson,您是否尝试过其他方法?您能否分享一下 MSBuild 任务定义的配置,您在构建代理上安装的软件,并尝试在构建服务器上使用 Visual Studio 2015 构建项目。
猜你喜欢
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多