Sdílet prostřednictvím


Cíl sestavení objednávky

Cíle musí být objednáno, je-li vstup na jeden cíl závisí na výstupu jiný cíl.Chcete-li určit pořadí, ve kterém jsou spuštěny cíle můžete použít tyto atributy:

  • InitialTargets.To Project atribut určuje cíle, které bude spuštěn jako první, a to i v případě, že cíle jsou specifikovány v příkazovém řádku nebo v DefaultTargets atribut.

  • DefaultTargets.To Project atttribute Určuje, jaké cíle jsou spouštěny Pokud cíl není explicitně zadán na příkazovém řádku.

  • DependsOnTargets.To Target atribut určuje cíle, které musí spustit před spuštěním tohoto cíle.

  • BeforeTargets a AfterTargets.Tyto Target atributy určují, že tento cíl má být spuštěna před nebo po zadaném cíle (MSBuild 4.0).

Cíl není nikdy spuštěno dvakrát během sestavení, i v případě, že na něm závisí další cíl v sestavení.Po spuštění cílového dokončení svého příspěvku k sestavení.

Cíle mohou mít Condition atribut.Pokud je zadaná podmínka vyhodnocena jako false, cíl nebude provedena a nemá žádný vliv na sestavení.Další informace o podmínkách naleznete v tématu Nástroj MSBuild podmínky.

Počáteční cíle

InitialTargets Atribut projektu element určuje cíle, které bude spuštěn jako první, a to i v případě, že cíle jsou specifikovány v příkazovém řádku nebo v DefaultTargets atribut.Počáteční cíle se obvykle používají pro kontrolu chyb.

Hodnota InitialTargets atribut může být oddělený středníkem, uspořádaný seznam cílů.Následující příklad určuje, že Warm cíl spustí a pak Eject cíl spustí.

<Project InitialTargets="Warm;Eject" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

Importované projekty mohou mít své vlastní InitialTargets atributy.Všechny počáteční cíle jsou seskupeny dohromady a spustit v pořadí.

Další informace naleznete v tématu Jak: Určete, které cíl nejprve sestavení.

Výchozí cíle

DefaultTargets Atribut projektu prvek určuje, jaké cíle nebo cílů jsou postaveny Pokud cíl není explicitně zadána v příkazovém řádku.

Hodnota DefaultTargets atribut může být oddělený středníkem, uspořádaný seznam cílů výchozí.Následující příklad určuje, že Clean cíl spustí a pak Build cíl spustí.

<Project DefaultTargets="Clean;Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

Můžete přepsat výchozí cíle pomocí /target přepnout na příkazovém řádku.Následující příklad určuje, že Build cíl spustí a pak Report cíl spustí.Při určování cíle tímto způsobem jsou ignorovány všechny výchozí cíle.

msbuild /target:Build;Report

Je-li zadána počáteční cíle a výchozí cíle a pokud nejsou zadány žádné cíle příkazového řádku MSBuild nejprve spustí počáteční cíle a potom spustí výchozí cíle.

Importované projekty mohou mít své vlastní DefaultTargets atributy.První DefaultTargets byl zjištěn atribut určuje výchozí cíle poběží.

Další informace naleznete v tématu Jak: Určete, které cíl nejprve sestavení.

První cíl

Pokud se žádné počáteční cíle, výchozí cíle nebo cílů příkazového řádku, poté spustí nástroj MSBuild prvního cíle narazí v souboru projektu nebo jakýkoli projekt, importované soubory.

Cíl závislosti

Cíle lze popsat vztahy závislosti mezi sebou.DependsOnTargets Atribut označuje, že cíl závisí na jiných cílů.Příklad:

<Target Name="Serve" DependsOnTargets="Chop;Cook" />

dává pokyn pro MSBuild, Serve cíl závisí na Chop cíl a Cook cíl.Spustí nástroj MSBuild Chop cíl a spustí Cook cíl před spuštěním Serve cíl.

Před cílů a cílů

Nástroj MSBuild 4.0 můžete určit pořadí cíle pomocí BeforeTargets a AfterTargets atributy.

Zvažte následující skript.

<Project DefaultTargets="Compile;Link" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Compile">
        <Message Text="Compiling" />
    </Target>
    <Target Name="Link">
        <Message Text="Linking" />
    </Target>
</Project>

Chcete-li vytvořit dílčí cíle Optimize , která se spouští Compile cíl, ale předtím, než Link cílové, přidat následující cíl kdekoli v Project prvku.

    <Target Name="Optimize" 
        AfterTargets="Compile" BeforeTargets="Link">
        <Message Text="Optimizing" />
    </Target>

Určení pořadí sestavení cíle

Nástroj MSBuild určuje pořadí sestavení cíl takto:

  1. InitialTargetscíle jsou spuštěny.

  2. Cíle, které jsou zadané na příkazovém řádku pomocí /target přepínače pracují.Zadáte-li žádné cíle v příkazovém řádku pak bude DefaultTargets cíle jsou spuštěny.Pokud ani jedna z nich je k dispozici, došlo k první cíl spustit.

  3. Condition Atribut cíle je vyhodnocen.Pokud Condition atribut je k dispozici a je vyhodnocen jako false, cíl nebude provedena a nemá žádný další vliv na sestavení.

  4. Před provedením cíl, jeho DependsOnTargets cíle jsou spuštěny.

  5. Před provedením cíl, žádné cíle, uvádí v BeforeTargets spustit atribut.

  6. Před provedením cíl, jeho Inputs atribut a Outputs atributu jsou porovnány.Pokud nástroj MSBuild zjistí, že všechny výstupní soubory jsou zastaralé s ohledem na odpovídající vstupní soubor nebo soubory a poté spustí nástroj MSBuild cíl.Jinak MSBuild vynechává cíl.

  7. Po cíl je proveden nebo vynechány, cíle, které jsou uvedeny v AfterTargets spustit atribut.

Viz také

Koncepty

Nástroj MSBuild cíle