【发布时间】:2013-09-25 14:22:41
【问题描述】:
我使用 Visual Studio 2012 包 项目(来自 VS2012 SDK)创建了 .NET 解决方案。使用 Visual Studio,我在“Debug”配置模式下成功编译并运行了这个项目(连同整个解决方案),并在“Any CPU”平台上运行。但是当我尝试使用 MsBuild 在命令行中构建解决方案时,出现错误:
命令:
msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"
错误:
错误:找不到 VS SDK 的安装。
错误 MSB4018:“FindVsSDKInstallation”任务失败
意外编辑。
错误 MSB4018: System.ArgumentNullException: Value can
不能为空。
错误 MSB4018:参数名称:path1
错误 MSB4018:在 System.IO.Path.Combine(String pat
h1, String path2)
错误 MSB4028:“FindVsSDKInstallation”任务的 ou
无法从“IncludesPath”参数中检索 tputs。值不能
null。
错误 MSB4028:参数名称:path1
所有活动都在我的本地 Windows 7 上执行,并安装了 VS2012 和 SDK。
我在网上寻找解决方案,我发现了以下主题:FindVsSDKInstallation task fails on the build box。据说这样的项目应该编译为"x86"平台,因为devenv.exe进程是32位的。因此,我将 Platform Target 属性从 Project Properties 更改为 "x86" (用于 "Debug" 模式)。结果是一样的 - 项目在 VS 中成功构建,但在 MsBuild 中没有。
为什么VS2012 Package项目使用VS正确构建,但MsBuild失败?我应该如何运行MsBuild 才能成功构建它?
【问题讨论】:
标签: visual-studio visual-studio-2012 msbuild visual-studio-package