场景
- 解决方案中包含一个VS2010扩展(.NET 4类库,带有WPF UI)
- 在Visual Studio中可以正常构建
- 在同一台机器上,当我尝试通过命令行构建它时(作为构建脚本的一部分)
- 使用以下命令尝试构建时失败:
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): error MSB4018: System.ArgumentNullException: Value cannot be null.
额外信息
- 已安装Visual Studio 2010 SDK SP1
- 文件路径和
Microsoft.VsSDK.Common.targets
确实存在。 - 我正在运行
x86
控制台和PowerShell窗口,并加载了vcvarsall.bat(x86)
- 我不确定
tmp_proj
是什么。 - 这是一个WPF用户界面,是否缺少编译WPF / XAML的东西通过MSBuild?
- CSProj文件中没有任何预/后构建事件,这是扩展。
- 构建平台目标为
Any CPU
- 我有其他解决方案/项目可以使用相同的
MSBuild
命令正常工作。 - 设置
/v:diag
并没有提供更多关于错误的信息。
有什么想法,我漏掉了什么,下一步该如何调试?