msbuild
Ordine di esecuzione mirata
Ricerca…
Osservazioni
Da MSDN: Target Build Order
Determinazione dell'ordine di costruzione target
MSBuild determina l'ordine di costruzione del target come segue:
- Vengono eseguiti i target InitialTargets.
- Vengono eseguite le destinazioni specificate sulla riga di comando tramite l'opzione / target. Se non si specifica alcun target sulla riga di comando, vengono eseguiti i target DefaultTargets. Se nessuno dei due è presente, viene eseguito il primo target rilevato.
- Viene valutato l'attributo Condition del target. Se l'attributo Condition è presente e viene valutato come false, la destinazione non viene eseguita e non ha ulteriori effetti sulla build.
- Prima che un obiettivo venga eseguito, vengono eseguiti i suoi obiettivi DependsOnTargets.
- Prima che un obiettivo venga eseguito, viene eseguita qualsiasi destinazione che lo elenca in un attributo BeforeTargets.
- Prima che un obiettivo venga eseguito, vengono confrontati l'attributo Inputs e l'attributo Outputs. Se MSBuild determina che i file di output non sono aggiornati rispetto al file o ai file di input corrispondenti, MSBuild esegue la destinazione. Altrimenti, MSBuild salta il bersaglio.
- Dopo che un obiettivo viene eseguito o saltato, viene eseguita qualsiasi destinazione che lo elenca in un attributo AfterTargets.
DependsOnTargets
Definire una sequenza di Targets ( Target1 , quindi Target2 ) che devono eseguire prima Target3 . Si noti che una richiesta di esecuzione per Target3 è necessaria per causare Target1 e Target2 da eseguire.
<Target Name="Target3" DependsOnTargets="Target1;Target2">
</Target>
<Target Name="Target2">
</Target>
<Target Name="Target1">
</Target>
AfterTargets
Definire un target ( Target1 ) per cui è richiesta l'esecuzione causerà Target2 da eseguire dopo.
<Target Name="Target2" AfterTargets="Target1">
</Target>
<Target Name="Target1">
</Target>
BeforeTargets
Definire un Target ( Target2 ) per cui è richiesta l'esecuzione causerà Target1 da eseguire preventivamente.
<Target Name="Target2">
</Target>
<Target Name="Target1" BeforeTargets="Target2">
</Target>
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow