Suche…


Bemerkungen

Aus MSDN: Zielerstellungsreihenfolge

Festlegen der Zielerstellungsreihenfolge

MSBuild bestimmt die Zielerstellungsreihenfolge wie folgt:

  1. InitialTargets-Ziele werden ausgeführt.
  2. Vom Befehlsschalter / target in der Befehlszeile angegebene Ziele werden ausgeführt. Wenn Sie in der Befehlszeile keine Ziele angeben, werden die DefaultTargets-Ziele ausgeführt. Wenn keine vorhanden ist, wird das erste gefundene Ziel ausgeführt.
  3. Das Condition-Attribut des Ziels wird ausgewertet. Wenn das Condition-Attribut vorhanden ist und den Wert false ergibt, wird das Ziel nicht ausgeführt und hat keine weiteren Auswirkungen auf den Build.
  4. Bevor ein Ziel ausgeführt wird, werden seine DependsOnTargets-Ziele ausgeführt.
  5. Bevor ein Ziel ausgeführt wird, wird jedes Ziel ausgeführt, das es in einem BeforeTargets-Attribut aufführt.
  6. Bevor ein Ziel ausgeführt wird, werden sein Inputs-Attribut und sein Outputs-Attribut verglichen. Wenn MSBuild feststellt, dass Ausgabedateien in Bezug auf die entsprechende Eingabedatei oder -dateien nicht mehr aktuell sind, führt MSBuild das Ziel aus. Andernfalls überspringt MSBuild das Ziel.
  7. Nachdem ein Ziel ausgeführt oder übersprungen wurde, wird jedes Ziel ausgeführt, das es in einem AfterTargets-Attribut aufführt.

AbhängigOnTargets

Definieren Sie eine Folge von Zielen ( Target1 , dann Target2 ), die vor Target3 ausgeführt werden Target3 . Beachten Sie, dass eine Ausführungsanforderung für Target3 erforderlich ist, um Target1 und Target2 .

<Target Name="Target3" DependsOnTargets="Target1;Target2">
</Target>

<Target Name="Target2">
</Target> 

<Target Name="Target1">
</Target> 

AfterTargets

Definieren Sie ein Ziel ( Target1 ), für das eine Ausführungsanforderung die anschließende Ausführung von Target2 .

<Target Name="Target2" AfterTargets="Target1">
</Target> 

<Target Name="Target1">
</Target> 

BeforeTargets

Definieren Sie ein Ziel ( Target2 ), für das eine Ausführungsanforderung die Ausführung von Target1 .

<Target Name="Target2">
</Target> 

<Target Name="Target1" BeforeTargets="Target2">
</Target> 


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow