Partage via


Spécifier la cible MSBuild à générer en premier

Les fichiers projet MSBuild peuvent contenir une ou plusieurs cibles qui définissent la façon dont le projet est généré. MSBuild génère la première cible qu’elle trouve et toutes les dépendances, sauf :

  • L’élément Project contient un attribut InitialTargets.
  • L’élément Project contient un attribut DefaultTargets.
  • La commande MSBuild a un commutateur -target qui spécifie une cible.

Utiliser l’attribut InitialTargets

L’attribut InitialTargets de l’élément Project spécifie la cible initiale qui s’exécute en premier. Il remplace les cibles que vous spécifiez avec MSBuild sur la ligne de commande ou dans l’attribut DefaultTargets de l’élément Project.

Spécifier une cible initiale unique

Spécifiez la cible par défaut dans l’attribut InitialTargets de l’élément Project. Par exemple:

<Project InitialTargets="Clean">

Spécifier plusieurs cibles initiales

Vous pouvez spécifier plusieurs cibles initiales dans l’attribut InitialTargets de l’élément Project. Répertoriez les cibles dans l’ordre et utilisez un point-virgule pour séparer chaque cible. Les cibles de la liste sont exécutées séquentiellement.

Par exemple, pour exécuter la cible Clean, puis la cible Compile, entrez :

<Project InitialTargets="Clean;Compile">

Utiliser l’attribut DefaultTargets

L’attribut DefaultTargets de l’élément Project spécifie la cible ou les cibles générées si une cible n’est pas spécifiée explicitement sur la ligne de commande.

Si les cibles sont spécifiées dans les attributs InitialTargets et DefaultTargets de l’élément Project et qu’aucune cible n’est spécifiée sur la ligne de commande, MSBuild exécute les cibles spécifiées dans l’attribut InitialTargets suivi des cibles spécifiées dans l’attribut DefaultTargets.

Spécifier une cible par défaut unique

Spécifiez la cible par défaut dans l’attribut DefaultTargets de l’élément Project. Par exemple:

<Project DefaultTargets="Compile">`

Spécifier plusieurs cibles par défaut

Vous pouvez spécifier plusieurs cibles par défaut dans l’attribut DefaultTargets de l’élément Project. Répertoriez les cibles par défaut dans l’ordre et utilisez un point-virgule pour séparer chaque cible. Les cibles de la liste sont exécutées séquentiellement.

Par exemple, pour exécuter la cible Clean, puis la cible Compile, entrez :

<Project DefaultTargets="Clean;Compile">

Utilisez le commutateur -target pour remplacer la cible par défaut

Si une cible par défaut n’est pas définie dans le fichier projet ou si vous ne souhaitez pas utiliser la cible par défaut définie, vous pouvez utiliser le commutateur de ligne de commande -target pour spécifier une autre cible. La cible ou les cibles spécifiées avec le commutateur -target sont exécutées au lieu des cibles spécifiées par l’attribut DefaultTargets de l’élément Project. Les cibles spécifiées dans l’attribut InitialTargets s’exécutent toujours en premier.

Remplacer la cible par défaut par une seule cible

Spécifiez la cible à utiliser comme première cible à l’aide du commutateur de ligne de commande -target avec un signe deux-points (:) et le nom de la cible. Par exemple:

msbuild file.proj -target:Clean

Remplacer la cible par défaut par plusieurs cibles

Spécifiez une liste de cibles à utiliser comme premières cibles et séparez-les par des points-virgules avec le commutateur de ligne de commande -target. Par exemple:

msbuild <file name>.proj -t:Clean;Compile