Postupy: Použití událostí sestavení v projektech MSBuild
Příkaz se událost sestavení, MSBuild provádí v určité fázi v procesu sestavení.Před události dojde před zahájením sestavení; před propojením události dojde před spuštěním krok propojení; a po sestavení události dojde po úspěšném ukončení sestavení.Pouze v případě, že dojde k sestavení kroku dojde k události sestavení.Například událost pre-link nedochází, pokud není spuštěna krok propojení.
Každé události tři sestavení je reprezentována ve skupině Definice prvek command (<Command>) který je proveden a element zprávy (<Message>) který je zobrazena při MSBuild provádí události sestavení.Každý prvek je volitelný a téhož prvku zadáte vícekrát, poslední výskyt má přednost.
Volitelný použití v sestavení prvku (<build-eventUseInBuild>) může být zadán ve skupině vlastnost označující, zda je proveden události sestavení.Hodnota obsahu použití v sestavení je prvek true nebo false.Standardně je proveden události sestavení, pokud odpovídající použití v sestavení je nastavena na false.
Následující tabulka uvádí každý prvek XML události sestavení:
Prvek XML |
Popis |
---|---|
PreBuildEvent |
Tato událost se spustí před zahájením sestavení. |
PreLinkEvent |
Tato událost se spustí před zahájením krok 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 |
Popis |
---|---|
PreBuildEventUseInBuild |
Určuje, zda chcete spustit před událostí. |
PreLinkEventUseInBuild |
Určuje, zda chcete spustit před propojením událostí. |
PostBuildEventUseInBuild |
Určuje, zda chcete spustit po sestavení událostí. |
Příklad
V následujícím příkladu mohou být přidány do projektu prvku vytvořené v souboru myproject.vcxproj Návod: Vytvoření projektu jazyka Visual C++ pomocí nástroje MSBuild.A před událostí vytvoří kopii main.cpp; před propojením událostí vytvoří kopii main.obj; a po sestavení událostí vytvoří kopii myproject.exe.Pokud sestavení projektu pomocí uvolnění konfigurace události sestavení jsou spuštěny.Pokud pomocí ladící konfigurace sestavení projektu, sestavení události již 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ávod: Vytvoření projektu jazyka Visual C++ pomocí nástroje MSBuild