【发布时间】:2015-11-15 09:10:17
【问题描述】:
我有一个 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# 项目,我收到以下错误:
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\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86。你或许能解决 通过执行以下操作之一解决问题: 1) 安装 Microsoft 视窗 SDK。 2) 安装 Visual Studio 2010。 3) 手动设置 上面的注册表项到正确的位置。 4)通过正确的 定位到任务的“ToolPath”参数中。
有人知道这是什么吗?注册表部分中的 Windows SDK v8.0A 是 Visual Studio 2012 的一部分。为什么我的 VS2013 解决方案需要 VS2012 的一部分?
【问题讨论】:
-
因为您使用了错误版本的 MSBuild.exe。请改用 c:\program files (x86)\msbuild\12.0\bin\msbuild.exe。或者,最好使用 Visual Studio 命令提示符快捷方式,以便正确设置所有路径。
-
MsBuild 命令是 TFS 构建中构建步骤的一部分,无法更改。我的计算机上没有 VS2012,但是当使用路径 C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe 时,构建工作没有错误。不幸的是,这对我没有帮助。
标签: visual-studio-2012 visual-studio-2013 sdk com msbuild