在安装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)。
在追踪了许多缺失的依赖项之后,已经成功创建了构建代理并获得了几乎成功的构建。
答案 0 :(得分:0)
TFS生成代理找不到AXImp.exe
(根据错误消息,它们都是常见的错误。对于此问题,我们无法提供最直接的正确答案,我们只能为您提供一些故障排除方法。为了避免在整个过程中失去联系,旅行评论,我将这些故障排除信息作为答案而不是评论。)
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来构建项目。
希望这会有所帮助。