Visual Studio工作正常时,MSBuild中的MSB4096错误

时间:2015-10-22 10:39:03

标签: msbuild

问题

我有一个Windows运行时解决方案,包含一些C ++项目和C#项目。 Visual Studio构建解决方案很好。但是,MSBuild无法与解决方案一起使用,并始终以错误MSB4096结束。

有没有人知道如何解决它,以便MSBuild可以像Visual Studio一样构建。

命令

  

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe / t:Rebuild /p:VisualStudioVersion=12.0;Platform=x86;Configuration=Debug;VCTargetsPath="C:\Program文件(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120&#34 ;; OutDir = C:\ Temp1 \ / m / verbosity:minimal / nologo C:\ Stash \ Windows \ xxx.sln> C:\ TEMP1 \ log.txt的

错误

  

创建库... \ OutPut \ M.WindowsPhone \ M.WindowsPhone.lib和object ... \ OutPut \ M.WindowsPhone \ M.WindowsPhone.exp     M.WindowsPhone.vcxproj - > ... \输出\ M.WindowsPhone \ M.WindowsPhone.dll   C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ Microsoft.CppBuild.targets(1893,5):错误MSB4096:项目" ... \ SDK \ M \ M \ M.Shared ...... \ BlackboardMobile \ businessLogic \学生\ AutoSavingObserver.cpp"在项目列表" ClCompile"没有定义元数据的值" DefiningProjectDirectory"。要使用此元数据,请通过指定%(ClCompile.DefiningProjectDirectory)来限定它,或者确保此列表中的所有项都定义此元数据的值。 [... \ SDK \中号\中号\ M.WindowsPhone \ M.WindowsPhone.vcxproj]   完成建筑项目" ... \ SDK \ M \ M \ M.WindowsPhone \ M.WindowsPhone.vcxproj" (重建目标) - 失败。   完成建筑项目" ... \ Student.sln" (重建目标) - 失败。

1 个答案:

答案 0 :(得分:2)

您似乎使用Visual Studio 2013,但在命令行上使用MSBuild 4.0。要在此处使用MSBuild 12.0(与VS2013内部一样),请使用:

%Program Files(x86)%\MSBuild\12.0\Bin\MSBuild.exe