msbuild
Reihenfolge der Zielausführung
Suche…
Bemerkungen
Aus MSDN: Zielerstellungsreihenfolge
Festlegen der Zielerstellungsreihenfolge
MSBuild bestimmt die Zielerstellungsreihenfolge wie folgt:
- InitialTargets-Ziele werden ausgeführt.
- 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.
- 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.
- Bevor ein Ziel ausgeführt wird, werden seine DependsOnTargets-Ziele ausgeführt.
- Bevor ein Ziel ausgeführt wird, wird jedes Ziel ausgeführt, das es in einem BeforeTargets-Attribut aufführt.
- 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.
- 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