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.
我试过以下方法:
- 创建指向安装的 SDK 的注册表项。没有成功。
- 卸载所有 C++ 编译器,下载 Windows 7 SDK iso 并按照说明进行安装 here。没有成功。
- 修改Visual Studio2015安装添加和删除组件,明确标记要安装的SDK。没有成功。
从 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 构建项目,并得到同样的错误。
我的解决步骤:
- 首先找出 IF Aximp.exe 存在于 Jenkins 机器上。我无权访问机器,所以我在我的 jenkinsfile 中包含了一个阶段到 运行 这个命令:
//temp,尝试获取 aximp.exe 在构建机器
上的位置
蝙蝠'dir "C:\Program Files (x86)\Microsoft SDKs\Windows" /b /s aximp.exe'
然后我检查了输出以查看它所在的位置。
- 然后,我在我的 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!
我正在尝试在 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.
我试过以下方法:
- 创建指向安装的 SDK 的注册表项。没有成功。
- 卸载所有 C++ 编译器,下载 Windows 7 SDK iso 并按照说明进行安装 here。没有成功。
- 修改Visual Studio2015安装添加和删除组件,明确标记要安装的SDK。没有成功。
从 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 构建项目,并得到同样的错误。
我的解决步骤:
- 首先找出 IF Aximp.exe 存在于 Jenkins 机器上。我无权访问机器,所以我在我的 jenkinsfile 中包含了一个阶段到 运行 这个命令:
//temp,尝试获取 aximp.exe 在构建机器
上的位置蝙蝠'dir "C:\Program Files (x86)\Microsoft SDKs\Windows" /b /s aximp.exe'
然后我检查了输出以查看它所在的位置。
- 然后,我在我的 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!