使用VS2010,我創建一個名爲「TfsBuildTestTarget」一個Win32 C++控制檯應用程序。這只是嚮導創建的默認控制檯應用程序。我沒有做任何代碼或項目更改,並且按預期在VS2010中生成。使用的MSBuild與VS2010生成vcxproj文件作爲目標 - 錯誤MSB4066(「在元件屬性標籤是無法識別」)
然後,我創建了一個MSBuild項目文件,如下所示:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="TfsBuildTestTarget.sln" Targets="TfsBuildTestTarget" Properties="Configuration=Release;Platform=Win32"/>
</Target>
</Project>
當我在這個項目文件運行的MSBuild,我得到以下錯誤:
"c:\dev\TfsBuildTestTarget\testBuild.proj" (default target) (1) -> "c:\dev\TfsBuildTestTarget\TfsBuildTestTarget.sln" (TfsBuildTe stTarget target) (2) -> (TfsBuildTestTarget target) ->
c:\dev\TfsBuildTestTarget\TfsBuildTestTarget\TfsBuildTestTarget.vcxproj(3,14): error MSB4066: The attribute "Label" in element is unrecognized.
的參考線,在( VS-生成)vcxproj文件看起來像這樣:
<ItemGroup Label="ProjectConfigurations">
的reference for the MSBuild item element不INC lude一個Label屬性。
這是怎麼回事?爲什麼VS2010生成的項目文件看起來與MSBuild不兼容?有沒有辦法讓我將這個解決方案作爲MSBuild項目的一部分來構建,而無需手動調整XML?