我有一个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" (重建目标) - 失败。
答案 0 :(得分:2)
您似乎使用Visual Studio 2013,但在命令行上使用MSBuild 4.0。要在此处使用MSBuild 12.0(与VS2013内部一样),请使用:
%Program Files(x86)%\MSBuild\12.0\Bin\MSBuild.exe