Sdílet prostřednictvím


Nástroj MSBuild cíle

Cíle seskupit úkoly v určitém pořadí a umožňují sestavení proces rozdělen do menších jednotek.Jeden cíl může například odstranit všechny soubory v adresáři výstupu připravit pro sestavení, zatímco jiné vstupy pro projekt zkompiluje a umístí je do prázdného adresáře.Další informace o úlohách naleznete v Nástroj MSBuild úkoly.

Deklarování cíle v souboru projektu

Cíle jsou deklarovány v souboru projektu s Target prvku.Následující XML kód například vytvoří cíl s názvem konstrukce pak zavolá Csc úkolu s typem položky kompilace.

<Target Name="Construct">
    <Csc Sources="@(Compile)" />
</Target>

Podobně jako vlastnosti MSBuild můžete předefinovat cíle.Příklad:

<Target Name="AfterBuild" >
    <Message Text="First occurrence" />
</Target>
<Target Name="AfterBuild" >
    <Message Text="Second occurrence" />
</Target>

Pokud se provede AfterBuild, zobrazí pouze "druhý výskyt".

Pořadí sestavení cíle

Cíle musí být objednáno, pokud vstup na jeden cíl závisí na výstup jiný cíl.Určit pořadí, ve které cíle spustit několika způsoby.

  • Počáteční cíle

  • Výchozí cíle

  • První cíl

  • Cíl závislosti

  • BeforeTargetsa AfterTargets (MSBuild 4.0)

Cíl nikdy spuštěna dvakrát během jediné sestavení, i když 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í.

Podrobnosti a další informace o cílovém pořadí sestavení naleznete v Cíl sestavení objednávky.

Cíl dávkování

Cílový prvek může mít Outputs atribut, který určuje metadata ve formuláři % (Metadata).Pokud ano, spustí nástroj MSBuild cílové jednou pro každou hodnotu jedinečná metadata seskupení nebo položky, které mají hodnotu metadat "dávkování".Příklad:

<ItemGroup>
    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Xml.Linq">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="Microsoft.CSharp">
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
    </Reference>
</ItemGroup>
<Target Name="AfterBuild"
    Outputs="%(Reference.RequiredTargetFramework)">
    <Message Text="Reference:
      @(Reference->'%(RequiredTargetFramework)')" />
</Target>

Referenční položky podle jejich metadat RequiredTargetFramework listy.Cílový výstup vypadá takto:

Reference: 3.5;3.5
Reference: 4.0

Dávkování cíl se používá zřídka v reálné sestavení.Dávkové úlohy je.Další informace naleznete v tématu Nástroj MSBuild dávkování.

Přírůstkové sestavení

Přírůstkové sestavení jsou sestavení, která jsou optimalizována tak, aby cíle s výstupní soubory, které jsou nejnovější jejich odpovídající vstupní soubory nebudou provedeny.Cílový prvek mohou mít i Inputs a Outputs atributy určující, jaké položky cíl jako vstup očekává a co položek, se vytvoří jako výstup.

Pokud jsou všechny položky výstup aktuální, MSBuild vynechává cíl významně zlepšuje rychlost sestavení.Toto se nazývá přírůstkové sestavení cíle.Pokud pouze některé soubory jsou aktuální, spustí nástroj MSBuild cíl bez aktuální položky.Toto se nazývá částečná přírůstkové sestavení cíle.Další informace naleznete v tématu Přírůstkové sestavení.

Viz také

Úkoly

Jak: použití stejného cíle ve více souborech projektu

Další zdroje

Nástroj MSBuild koncepty