MSBuild windows 2012 Visual Studio 2015 找不到 AxImp.exe

MSBuild windows 2012 Visual Studio 2015 cannot find AxImp.exe

我正在尝试在 Windows Server 2012 和 Visual Studio 2015 中设置 Jenkins,但我无法使用 MSBuild 构建我的应用程序,我遇到了一些 Windows SDK 问题。

(ResolveComReferences target) ->
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(2015,5): error MSB3091: Task failed because "AxImp.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK. 2) Install Visual Studio 2010. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task.

我试过以下方法:

从 Visual Studio 构建时,构建良好。

我真的不知道这里发生了什么,也不知道为什么我不能让它工作,对我来说似乎是关于 Windows 或 Visual Studio 2015 的错误。

解决方案比看起来容易得多,只需将项目节点的 ToolsVersion 从 4.0 更改为 14.0 即可解决问题:

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

所以我有一个非常相似的问题,使用 Jenkins 和 Msbuild 构建项目,并得到同样的错误。

我的解决步骤:

  1. 首先找出 IF Aximp.exe 存在于 Jenkins 机器上。我无权访问机器,所以我在我的 jenkinsfile 中包含了一个阶段到 运行 这个命令:

//temp,尝试获取 aximp.exe 在构建机器

上的位置

蝙蝠'dir "C:\Program Files (x86)\Microsoft SDKs\Windows" /b /s aximp.exe'

然后我检查了输出以查看它所在的位置。

  1. 然后,我在我的 jenkins 文件中向我的 msbuild 命令添加了一个参数,如下所示:

bat 'msbuild mysolution.sln /p:VisualStudioVersion=14.0 "/p:TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools" ' //aximp.exe 所在的文件夹

现在构建 运行s!