Partager via


Comment : personnaliser le groupe d'éléments SolutionToBuild

Mise à jour : novembre 2007

Le fichier projet Team Foundation Build, TFSBuild.proj, peut être personnalisé en passant des propriétés et des cibles à la génération dans le groupe d'éléments SolutionToBuild. Vous pouvez également ajouter ou supprimer des solutions à générer dans le groupe d'éléments SolutionToBuild. Pour plus d'informations sur le fichier TFSBuild.proj, consultez Présentation des fichiers de configuration de Team Foundation Build.

Autorisations requises

Pour effectuer ces procédures, les autorisations Administrer une build et Administrer les espaces de travail doivent avoir la valeur Autoriser. Vous devez également disposer des autorisations Archiver et Extraire avec la valeur Autoriser.

Modification du fichier projet Team Foundation Build

Avant de pouvoir modifier le fichier TFSBuild.proj, vous devez l'extraire du contrôle de code source.

Pour modifier le fichier TFSBuild.proj

  1. Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Explorateur du contrôle de code source.

  2. Dans l'Explorateur du contrôle de code source, développez votre projet d'équipe dans le volet Dossiers et sélectionnez TeamBuildTypes.

  3. Pour obtenir la version la plus récente de TFSBuild.proj, cliquez avec le bouton droit sur le dossier TeamBuildType, puis cliquez sur Obtenir la dernière version.

    Cette action rend les fichiers disponibles pour qu'ils puissent être extraits à des fins de modification.

  4. Dans le volet d'affichage, double-cliquez sur le nom de définition de build à modifier, cliquez avec le bouton droit sur TFSBuild.proj, puis cliquez sur Extraire pour modification. Dans la boîte de dialogue Extraire, sélectionnez Aucun - Autoriser l'extraction partagée, puis cliquez sur Extraire.

    Une coche rouge apparaît en regard du fichier TFSBuild.proj et indique l'état de son contrôle de code source.

  5. Double-cliquez sur le fichier TFSBuild.proj pour l'ouvrir dans l'éditeur XML de Visual Studio.

Passage de propriétés dans le groupe d'éléments SolutionToBuild

Team Foundation Build inclut deux propriétés réservées que vous pouvez utiliser pour personnaliser les définitions de build :

  • CustomPropertiesForClean passe des valeurs personnalisées dans chaque solution lorsque Team Foundation Build appelle la cible Clean.

  • CustomPropertiesForBuild passe des valeurs personnalisées dans chaque solution lorsque Team Foundation Build appelle sa cible par défaut (en général Build).

Pour passer des propriétés dans le groupe d'éléments SolutionToBuild

  1. Dans le fichier TSFBuild.proj, localisez la balise <SolutionToBuild>.

  2. Pour ajouter une propriété personnalisée à la cible par défaut, tapez le code suivant entre les balises <SolutionToBuild> et </SolutionToBuild>. Par exemple :

    <SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln">
      <CustomPropertiesForBuild>
        Context=TeamBuild;RootDirectory=$(SolutionDir)
      </CustomPropertiesForBuild>
    </SolutionToBuild>
    

    Ce code XML fait pointer la propriété de génération RootDirectory sur la propriété SolutionDir par défaut.

    Utilisez la même syntaxe pour passer des propriétés personnalisées dans la propriété CustomPropertiesForClean.

  3. Vous pouvez également, si vous le souhaitez, passer des propriétés personnalisées dans des éléments SolutionToBuild individuels en les spécifiant dans les métadonnées.

    Par exemple :

    <SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln">
      <Properties>
        OutDir=$(BinariesRoot)\$(Solution)\$(Platform)\$(Configuration\
      </Properties>
    </SolutionToBuild>
    

    Ce code XML spécifie le répertoire de sortie pour la ou les définitions de build associées à ce fichier TFSBuild.proj.

    Remarque :

    L'ajout des balises CustomPropertiesForBuild et CustomPropertiesForClean génère des avertissements de validation du schéma XML dans Visual Studio. Vous pouvez ignorer ces avertissements sans risque.

Ajout et suppression de solutions dans le groupe d'éléments SolutionToBuild

Vous pouvez modifier le groupe d'éléments SolutionToBuild pour ajouter ou supprimer des solutions qui seront construites par la ou les définitions de build associées au fichier projet Team Foundation Build, TFSBuild.proj.

Pour ajouter ou supprimer des solutions à générer

  1. Dans le fichier TSFBuild.proj, localisez la balise <SolutionToBuild>.

    Si la définition de build est configurée pour générer une seule solution, l'entrée SolutionToBuild est semblable au code XML suivant :

    <ItemGroup>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln" />
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    </ItemGroup>
    
  2. Pour ajouter une autre solution, ajoutez un autre jeu de balises <SolutionToBuild></SolutionToBuild> après le <ItemGroup> d'ouverture et avant les balises de fermeture </ItemGroup>.

    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln" />
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySecondSolution.sln" />  <Targets></Targets>  <Properties></Properties></SolutionToBuild>
    
  3. Pour supprimer une solution, supprimez les balises <SolutionToBuild></SolutionToBuild> et tout le code situé entre les balises de la solution que vous ne souhaitez plus générer.

Appel d'une cible personnalisée dans le groupe d'éléments SolutionToBuild

Vous pouvez appeler des cibles personnalisées pour les éléments SolutionToBuild individuels en les spécifiant dans les métadonnées.

Pour appeler une cible personnalisée dans le groupe d'éléments SolutionToBuild

  1. Dans le fichier TSFBuild.proj, localisez la balise <SolutionToBuild>.

  2. Utilisez la syntaxe suivante pour appeler une cible et passer des propriétés.

    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln">
      <Targets>MyCustomTarget1;MyCustomTarget2</Targets>
      <Properties>Property1=Value1;PropertyTwo=Value2</Properties>
    </SolutionToBuild>
    

    Ce code XML appelle les cibles MyCustomTarget1 et MyCustomTarget2 et passe les propriétés Property1 et Property2.

Voir aussi

Tâches

Comment : créer une définition de build

Autres ressources

Cibles, tâches et propriétés de Team Foundation Build