MsBuild与Visual Studio 2012包项目

时间:2013-09-25 14:22:41

标签: visual-studio visual-studio-2012 msbuild visual-studio-package

我使用 Visual Studio 2012软件包项目(来自 VS2012 SDK )创建了.NET解决方案。使用Visual Studio,我在“调试”配置模式和“任何CPU ”平台上成功编译并运行此项目(以及整个解决方案)。但是当我尝试使用 MsBuild 在命令行中构建解决方案时,我收到错误:

命令:

msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"

错误:

错误:无法找到VS SDK的安装。
错误MSB4018:“FindVsSDKInstallation”任务失败 意外地编辑。
错误MSB4018:System.ArgumentNullException:值可以 不能为空。
 错误MSB4018:参数名称:path1
错误MSB4018:在System.IO.Path.Combine(String pat h1,String path2)
错误MSB4028:“FindVsSDKInstallation”任务ou 无法从“IncludesPath”参数中检索tput。价值不可能  空。
错误MSB4028:参数名称:path1

所有活动都在我的本地Windows 7上执行,安装了VS2012和SDK。

我一直在网上寻找解决方案,我找到了以下主题:FindVsSDKInstallation task fails on the build box。有人说应该为“x86”平台编译这样的项目,因为devenv.exe进程是32位的。因此,我将项目属性中的Platform Target属性更改为“x86”(对于“调试”模式)。结果是相同的 - 项目在VS中成功构建,但不在MsBuild中构建。

为什么使用VS正确构建VS2012包项目,但MsBuild失败了?我应该如何运行MsBuild来成功构建它?

1 个答案:

答案 0 :(得分:2)

首先,您需要使用visual studio命令提示符,或调用vsvars批处理文件,例如 “C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ Tools \ vsvars32.bat”
其次,你提供的链接也说

  

“我认为设置”VsSDKInstall“环境变量应该有效   太“

有相关帖子here