【问题标题】:MSBuild command line execution of Visual Studio 2010 Solution fails referencing VS2010 SDK to build an extensionVisual Studio 2010 解决方案的 MSBuild 命令行执行无法引用 VS2010 SDK 构建扩展
【发布时间】:2011-12-21 00:02:57
【问题描述】:

场景

  • 其中包含 VS2010 扩展的解决方案(.NET 4 类库,带有 WPF UI)
  • 它在视觉工作室中构建良好
  • 同一台机器上,当我尝试通过命令行(作为构建脚本的一部分)构建它时
  • 失败 使用此命令尝试构建它时:
    • msbuild JsExt.sln /t:Build /p:Configuration=Debug /p:OutDir=..\..\Binaries
  • 更新
    • MSBuild 添加/property:VsSDKInstall="C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK" 会导致此异常...

异常

“VSCTCompiler”任务意外失败。 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.Common.targets(74,5):错误 MSB4018: System.ArgumentNullException: 值不能为空。

额外信息

  1. Visual Studio 2010 SDK SP1 已安装
  2. Microsoft.VsSDK.Common.targets 的路径和文件确实存在。
  3. 我从 x86 控制台和 PowerShell 窗口运行,vcvarsall.bat (x86) 已加载
  4. 我不确定tmp_proj 是关于什么的。
  5. 这是一个 WPF 用户界面,我是否缺少通过 MSBuild 使用 WPF/XAML 编译的东西?
  6. 作为扩展的 CSProj 文件没有任何构建前/构建后事件。
  7. 构建平台目标是Any CPU
  8. 我有其他解决方案/项目可以使用相同的 MSBuild 命令运行良好。
  9. 设置 /v:diag 不会提供更多关于错误的信息。

任何想法,我缺少什么,接下来要调试什么?

【问题讨论】:

  • 您是否在构建脚本中调用:'"C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86'?
  • @DaveShaw 是的,它们已加载,通过在执行构建命令之前显式运行确认,仍然失败并出现相同的异常
  • 对不起,那是我唯一的想法

标签: wpf visual-studio-2010 .net-4.0 msbuild visual-studio-extensions


【解决方案1】:

VSSDKInstall 环境变量是否设置/显示在您的控制台中?

VSSDK100Install=C:\Program Files (x86)\Microsoft Visual Studio 2010 SDK SP1\

如果是这样,则将“/v:diag”添加到您的 cmd 行以查看结果。

看看下面的blog post - 步骤#3 听起来像你原来的问题,步骤#4 解释了你刚刚遇到的后续VSCTCompiler 问题。

【讨论】:

  • 不是,但我通过 msbuild 命令变量提供它,我将更新问题,因为现在出现另一个错误 - The "VSCTCompiler" task failed unexpectedly.
  • 显然一些VSSDK任务仍然需要将VsSDKInstall路径设置为环境变量。
猜你喜欢
  • 2011-04-22
  • 1970-01-01
  • 2012-01-03
  • 2015-07-31
  • 2012-08-31
  • 2011-05-08
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
相关资源
最近更新 更多