Porady: korzystanie ze zdarzeń kompilacji w projektach MSBuild
Zdarzenia kompilacji jest poleceniem które MSBuild wykonuje się na określonym etapie procesu tworzenia.Przed konstrukcją zdarzenie występuje przed rozpoczęciem budowy; PRE-link zdarzenie przed rozpoczęciem kroku łącze; i POST-Build kompilacja pomyślnie kończy się po wystąpieniu zdarzenia.Zdarzenia kompilacji występuje tylko wtedy, gdy występuje krok skojarzony kompilacji.Na przykład zdarzenie wstępnego łącze nie występuje, jeśli krok łącze nie działa.
Każdego zdarzenia trzech kompilacji jest reprezentowana w grupy definicji towaru przez command element (<Command>) która jest wykonywana i komunikat element (<Message>) oznacza to wyświetlane MSBuild wykonuje zdarzenia kompilacji.Każdy element jest opcjonalny, a jeśli ten sam element zostanie określona wielokrotnie, to ostatnie wystąpienie ma pierwszeństwo.
Opcjonalny wykorzystania wbudowany element (<build-eventUseInBuild>) można określić w grupie właściwość, aby wskazać, czy zdarzenia kompilacji jest wykonywany.Wartość zawartości wykorzystania wbudowany element jest albo true lub false.Domyślnie zdarzenia kompilacji jest wykonywane, o ile odpowiednie wykorzystania wbudowany jest ustawiona na false.
W poniższej tabeli przedstawiono każdy element XML zdarzenia kompilacji:
XML Element |
Opis |
---|---|
PreBuildEvent |
To zdarzenie jest wykonywana przed rozpoczęciem budowy. |
PreLinkEvent |
To zdarzenie jest wykonywana przed rozpoczęciem kroku łącze. |
PostBuildEvent |
To zdarzenie jest wykonywany po zakończeniu kompilacji. |
W poniższej tabeli przedstawiono każdy wykorzystania wbudowany element:
XML Element |
Opis |
---|---|
PreBuildEventUseInBuild |
Określa, czy należy wykonać przed konstrukcją zdarzenia. |
PreLinkEventUseInBuild |
Określa, czy należy wykonać PRE-link zdarzenia. |
PostBuildEventUseInBuild |
Określa, czy należy wykonać POST-Build zdarzenia. |
Przykład
Poniższy przykład można umieścić wewnątrz elementu projektu utworzonych w pliku myproject.vcxproj Wskazówki: Korzystanie z MSBuild do tworzenia projektu Visual C++.A przed konstrukcją zdarzeń tworzy kopię main.cpp; PRE-link zdarzeń tworzy kopię main.obj; i POST-Build zdarzenie zostanie utworzona kopia myproject.exe.Jeśli projekt został zbudowany przy użyciu konfiguracji wydania, zdarzenia kompilacji są wykonywane.Jeśli projekt został zbudowany przy użyciu konfiguracji programu debug, zdarzenia kompilacji nie są wykonywane.
<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>
Zobacz też
Zadania
Wskazówki: Korzystanie z MSBuild do tworzenia projektu Visual C++