【问题标题】:MsBuild with Visual Studio 2012 Package ProjectMsBuild 与 Visual Studio 2012 包项目
【发布时间】: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


    【解决方案1】:

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

    “我认为设置“VsSDKInstall”环境变量应该可以 也”

    有一个相关的帖子here

    【讨论】:

      猜你喜欢
      • 2012-09-13
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多