Condividi tramite


Specificare il target MSBuild da compilare per primo

I file di progetto MSBuild possono contenere una o più destinazioni che definiscono la modalità di compilazione del progetto. MSBuild compila la prima destinazione che trova ed eventuali dipendenze, a meno che:

  • L'elemento Project contiene un attributo InitialTargets.
  • L'elemento Project contiene un attributo DefaultTargets.
  • Il comando MSBuild include un'opzione -target che specifica una destinazione.

Usare l'attributo InitialTargets

L'attributo InitialTargets dell'elemento Project specifica la destinazione iniziale che viene eseguita per prima. Annulla qualsiasi target specificato con MSBuild nella riga di comando o nell'attributo DefaultTargets dell'elemento Project.

Specificare una singola destinazione iniziale

Specificare la destinazione predefinita nell'attributo InitialTargets dell'elemento Project. Per esempio:

<Project InitialTargets="Clean">

Specificare più destinazioni iniziali

È possibile specificare più di una destinazione iniziale nell'attributo InitialTargets dell'elemento Project. Elencare le destinazioni in ordine e usare un punto e virgola per separare ogni destinazione. Gli obiettivi nell'elenco vengono eseguiti in sequenza.

Ad esempio, per eseguire il target Clean e quindi il target Compile, digitare:

<Project InitialTargets="Clean;Compile">

Usare l'attributo DefaultTargets

L'attributo DefaultTargets dell'elemento Project specifica quale o quali obiettivi vengono costruiti se non viene specificato esplicitamente un obiettivo nella riga di comando.

Se le destinazioni vengono specificate sia negli attributi InitialTargets che in DefaultTargets dell'elemento Project e nella riga di comando non viene specificata alcuna destinazione, MSBuild esegue le destinazioni specificate nell'attributo InitialTargets seguito dalle destinazioni specificate nell'attributo DefaultTargets.

Specificare una singola destinazione predefinita

Specificare la destinazione predefinita nell'attributo DefaultTargets dell'elemento Project. Per esempio:

<Project DefaultTargets="Compile">`

Specificare più destinazioni predefinite

È possibile specificare più di una destinazione predefinita nell'attributo DefaultTargets dell'elemento Project. Elencare le destinazioni predefinite in ordine e usare un punto e virgola per separare ogni destinazione. Gli obiettivi nell'elenco vengono eseguiti in sequenza.

Ad esempio, per eseguire l'obiettivo Clean e quindi l'obiettivo Compile, immettere:

<Project DefaultTargets="Clean;Compile">

Usare l'opzione -target per eseguire l'override della destinazione predefinita

Se una destinazione predefinita non è definita nel file di progetto o se non si vuole usare la destinazione predefinita definita, è possibile usare l'opzione della riga di comando -target per specificare una destinazione diversa. La destinazione o le destinazioni specificate con l'opzione -target vengono eseguite invece delle destinazioni specificate dall'attributo DefaultTargets dell'elemento Project. Gli obiettivi specificati nell'attributo InitialTargets vengono sempre eseguiti per primi.

Sostituire la destinazione predefinita con una singola destinazione

Specificare la destinazione da usare come prima destinazione usando l'opzione della riga di comando -target con due punti (:) e il nome della destinazione. Per esempio:

msbuild file.proj -target:Clean

Eseguire l'override della destinazione predefinita con più destinazioni

Specificare un elenco di destinazioni da usare come prime destinazioni e separarle da punto e virgola con l'opzione della riga di comando -target. Per esempio:

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