TFS生成代理找不到AXImp.exe

时间:2019-07-16 00:15:58

标签: msbuild tfsbuild

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

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

该位置没有“ Microsoft SDK”节点,但是在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)。

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

1 个答案:

答案 0 :(得分:0)

  

TFS生成代理找不到AXImp.exe

(根据错误消息,它们都是常见的错误。对于此问题,我们无法提供最直接的正确答案,我们只能为您提供一些故障排除方法。为了避免在整个过程中失去联系,旅行评论,我将这些故障排除信息作为答案而不是评论。)

  • 确保在生成定义中使用 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)。
  • 检查“项目”节点的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来构建项目。

希望这会有所帮助。

相关问题