使用MsBuild构建Visual Studio解决方案时出错

时间:2015-08-21 12:11:32

标签: visual-studio-2012 visual-studio-2013 sdk com msbuild

我有一个Visual Studio 2013解决方案(MySolution2013.sln),它包含许多使用.NET 4.5.1的C#项目。

在VS2015中构建MySolution2013.sln时,一切都很好。

当我从命令提示符运行以下命令时:

  

C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe   MySolution2013.sln

对于包含对COM组件的引用的C#procject,我收到以下错误:

  

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets   (2015):任务失败,因为" AxImp.exe"没找到,或者是正确的   未安装Microsoft Windows SDK。任务正在寻找   " AxImp.exe"在" bin"指定位置下的子目录   在注册表项的InstallationFolder值中   HKEY_LOCAL_MACHINE \ SOFTWARE \微软\微软   的SDK \的Windows \ v8.0A \ WinSDK-NetFx40Tools-86。你或许可以解决   通过执行以下操作之一来解决此问题:1)安装Microsoft   Windows SDK。 2)安装Visual Studio 2010. 3)手动设置   上面的注册表项到正确的位置。 4)通过正确的   位于" ToolPath"任务的参数。

任何人都知道这是什么?注册表部分中的Windows SDK v8.0A是visual Studio 2012的一部分。为什么我的VS2013解决方案需要部分VS2012?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我解决了安装Windows 8.1 SDK

的问题

在我的情况下,我尝试在CI Windows 2012 R2 服务器上使用 MSBuild 编译 .csproj (CI代表连续集成),虽然关于此主题的最相关网络问题建议安装 Windows SDK ,但他们未能完全指向哪一个。

因此,首先,我猜他们的意思是 Windows 10 SDK ,这也是 Windows 2012 服务器的正确版本。遗憾的是, Windows 10 SDK 不包含缺少的 AxImp.exe SDK文件。 所以,你可以想象,我花了很长时间才弄清楚 Windows 8.1 SDK 是这个谜语的关键。

再次,希望它可以帮助别人; - )

答案 2 :(得分:1)

我在提交到SVN后尝试在Windows 2012服务器上使用Jenkins构建VS2015解决方案文件时遇到了同样的问题。试图复制AxImp.exe及相关的二进制文件和设置但失败了。所以我必须安装Windows 8.1 SDK,并通过Jenkins CI服务器成功构建。 希望这有助于某人。