Jak: použití sestavení událostí MSBuild projektů
Sestavení událostí je příkaz, MSBuild provádí v určité fázi v procesu vytváření.Pre-build dojde k události před spuštěním sestavení; pre-link dojde k události před zahájením kroku propojení; a post-build události dojde po úspěšném ukončení sestavení. Sestavení události dochází pouze v případě, že nastane přidružené sestavení.Například pre-link události nedochází, pokud krok odkaz nefunguje.
Každé tři sestavení události je reprezentována ve skupině definice prvku příkaz (<Command>), je proveden a element zprávy (<Message>) se zobrazí při MSBuild provádí sestavení událostí.Každý prvek je nepovinný a téhož prvku zadáte vícekrát, poslední výskyt přednost.
Volitelným použití v sestavení prvku (<sestavení událostíUseInBuild>) lze určit skupinu vlastností označuje, zda je spuštěna událost sestavení.Hodnota obsahu použití v sestavení je prvek true nebo false.Výchozí událost sestavení provedeny pokud jeho odpovídající použití v sestavení prvku je nastavena na false.
Následující tabulka obsahuje seznam jednotlivých prvků XML události sestavení:
Prvek XML |
Description |
---|---|
PreBuildEvent |
Tato událost se spustí před zahájením sestavení. |
PreLinkEvent |
Tato událost se spustí před zahájením kroku propojení. |
PostBuildEvent |
Tato událost se spustí po dokončení sestavení. |
V následující tabulce jsou uvedeny jednotlivé použití v sestavení prvek:
Prvek XML |
Description |
---|---|
PreBuildEventUseInBuild |
Určuje, zda chcete provést pre-build událostí. |
PreLinkEventUseInBuild |
Určuje, zda chcete provést pre-link událostí. |
PostBuildEventUseInBuild |
Určuje, zda chcete provést post-build událostí. |
Příklad
V následujícím příkladu lze přidat uvnitř prvku projekt vytvořený v souboru myproject.vcxproj Názorný postup: Vytvoření projektu Visual C++ pomocí nástroje MSBuild.A pre-build události vytvoří kopii main.cpp; pre-link události vytvoří kopii main.obj; a post-build události vytvoří kopii myproject.exe.Pokud projekt je vytvořena pomocí verze konfigurace, jsou spouštěny události sestavení.Pokud projekt je vytvořena pomocí konfigurace debug, sestavení události nebudou provedeny.
<ItemDefinitionGroup>
<PreBuildEvent>
<Command>copy $(ProjectDir)main.cpp $(ProjectDir)copyOfMain.cpp</Command>
<Message>Making a copy of main.cpp </Message>
</PreBuildEvent>
<PreLinkEvent>
<Command>copy $(ProjectDir)$(Configuration)\main.obj $(ProjectDir)$(Configuration)\copyOfMain.obj</Command>
<Message>Making a copy of main.obj</Message>
</PreLinkEvent>
<PostBuildEvent>
<Command>copy $(ProjectDir)$(Configuration)\$(TargetFileName) $(ProjectDir)$(Configuration)\copyOfMyproject.exe</Command>
<Message>Making a copy of myproject.exe</Message>
</PostBuildEvent>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
<PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
<PreLinkEventUseInBuild>false</PreLinkEventUseInBuild>
<PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
</PropertyGroup>
Viz také
Úkoly
Názorný postup: Vytvoření projektu Visual C++ pomocí nástroje MSBuild