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 attributoInitialTargets
. - L'elemento
Project
contiene un attributoDefaultTargets
. - 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