à l'aide de MSBuild avec VS2010 généré vcxproj fichier en tant que cible d'erreur MSB4066 (“attribut Label de l'élément est non reconnu”)

À l'aide de VS2010, j'ai créé un Win32 C++ application de console appelée "TfsBuildTestTarget". C'est juste la console par défaut de l'application créée par l'assistant. Je n'ai pas fait de code ou de modifications de projet, et il s'appuie sur ok dans VS2010 comme prévu.

Puis j'ai créé un fichier projet MSBUILD comme suit:

<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>

Quand je lance MSBUILD sur ce fichier de projet, j'obtiens l'erreur suivante:

"c:\dev\TfsBuildTestTarget\testBuild.proj"
(cible par défaut) (1 ) ->
"c:\dev\TfsBuildTestTarget\TfsBuildTestTarget.sln"
(TfsBuildTe stTarget cible) (2) ->
(TfsBuildTestTarget cible) ->
c:\dev\TfsBuildTestTarget\TfsBuildTestTarget\TfsBuildTestTarget.vcxproj(3,14):
erreur MSB4066: L'attribut "Label" dans l'élément non reconnu.

Référencé dans la ligne, dans le (VS-généré) vcxproj fichier ressemble à ceci:

  <ItemGroup Label="ProjectConfigurations">

La de référence pour la MSBuild élément élément ne comprend pas un attribut Label.

Ce qui se passe ici? Pourquoi est-VS2010 générer des fichiers de projet qui ne semble pas être compatible avec MSBuild? Est-il un moyen pour moi de construire cette solution dans le cadre d'un projet MSBuild sans manuellement peaufiner le XML?

OriginalL'auteur Eric | 2011-02-24