msbuild
Volgorde van doeluitvoering
Zoeken…
Opmerkingen
Van MSDN: Target Build Order
Bepaling van de doelopbouwvolgorde
MSBuild bepaalt de doelvolgorde als volgt:
- InitialTargets-doelen worden uitgevoerd.
- Doelen die op de opdrachtregel zijn opgegeven door de schakeloptie / target worden uitgevoerd. Als u geen doelen op de opdrachtregel opgeeft, worden de doelen van DefaultTargets uitgevoerd. Als geen van beide aanwezig is, wordt het eerste aangetroffen doel uitgevoerd.
- Het kenmerk Voorwaarde van het doel wordt geëvalueerd. Als het kenmerk Voorwaarde aanwezig is en als onwaar evalueert, wordt het doel niet uitgevoerd en heeft het geen verder effect op de build.
- Voordat een doel wordt uitgevoerd, worden de DependsOnTargets-doelen uitgevoerd.
- Voordat een doel wordt uitgevoerd, wordt elk doel uitgevoerd dat het vermeldt in een BeforeTargets-kenmerk.
- Voordat een doel wordt uitgevoerd, worden het kenmerk Inputs en het kenmerk Outputs vergeleken. Als MSBuild vaststelt dat uitvoerbestanden verouderd zijn ten opzichte van het overeenkomstige invoerbestand of bestanden, voert MSBuild het doel uit. Anders slaat MSBuild het doel over.
- Nadat een doel is uitgevoerd of overgeslagen, wordt elk doel uitgevoerd dat het vermeldt in een AfterTargets-kenmerk.
DependsOnTargets
Definieer een reeks doelen ( Target1 en vervolgens Target2 ) die moet worden uitgevoerd vóór Target3 . Merk op dat een uitvoeringsverzoek voor Target3 vereist is om ervoor te zorgen dat Target1 en Target2 worden uitgevoerd.
<Target Name="Target3" DependsOnTargets="Target1;Target2">
</Target>
<Target Name="Target2">
</Target>
<Target Name="Target1">
</Target>
AfterTargets
Definieer een doel ( Target1 ) waarvoor een uitvoeringsverzoek ervoor zorgt dat Target2 daarna wordt uitgevoerd.
<Target Name="Target2" AfterTargets="Target1">
</Target>
<Target Name="Target1">
</Target>
BeforeTargets
Definieer een doel ( Target2 ) waarvoor een uitvoeringsverzoek ervoor zorgt dat Target1 vooraf wordt uitgevoerd.
<Target Name="Target2">
</Target>
<Target Name="Target1" BeforeTargets="Target2">
</Target>
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow