Jak: użyć zdarzenia kompilacji w projektach programu MSBuild
Zdarzenia kompilacji jest to polecenie, MSBuild wykonuje się w szczególności etapie procesu tworzenia.Pre-build zdarzenie przed rozpoczęciem budowy; pre-link zdarzenie przed rozpoczęciem kroku łącze; i post-build zdarzenie po budowanie pomyślnie kończy się. Zdarzenia kompilacji występuje tylko wtedy, gdy występuje krok skojarzony kompilacji.Zdarzenie pre-link nie występuje na przykład, 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 element wiadomości (<Message>) to jest wyświetlane, gdy MSBuild wykonuje zdarzenia kompilacji.Każdy element jest opcjonalny i jeśli ten sam element określić wiele razy, ostatniego wystąpienia ma pierwszeństwo.
Opcjonalny wykorzystania w build elementu (<Konstruuj zdarzenieUseInBuild>) można określić grupy właściwości, aby wskazać, czy zdarzenia kompilacji jest wykonywane.Wartość zawartości wykorzystania w build elementu jest albo true lub false.Domyślnie zdarzenia kompilacji jest wykonywany, chyba że jej odpowiadającego wykorzystania w kompilacji element jest ustawiona na false.
W poniższej tabeli przedstawiono każdy element XML zdarzenia kompilacji:
XML Element |
Opis |
---|---|
PreBuildEvent |
To zdarzenie jest wykonywany przed rozpoczęciem kompilacji. |
PreLinkEvent |
To zdarzenie jest wykonywany przed rozpoczęciem kroku łącze. |
PostBuildEvent |
To zdarzenie jest wykonywany po zakończeniu kompilacji. |
Następująca tabela zawiera listę wykorzystania w build element:
XML Element |
Opis |
---|---|
PreBuildEventUseInBuild |
Określa, czy ma wykonywać pre-build zdarzenia. |
PreLinkEventUseInBuild |
Określa, czy ma wykonywać pre-link zdarzenia. |
PostBuildEventUseInBuild |
Określa, czy ma wykonywać post-build zdarzenia. |
Przykład
Poniższy przykład dodaje się wewnątrz elementu projektu utworzonego w pliku myproject.vcxproj Instruktaż: Przy użyciu programu MSBuild do tworzenia projektu Visual C++.A pre-build zdarzenie zostanie utworzona kopia main.cpp; pre-link zdarzenie zostanie utworzona kopia main.obj; i post-build zdarzenie zostanie utworzona kopia myproject.exe.Jeśli projekt jest zbudowany przy użyciu konfiguracji wydania, wykonywane są zdarzenia kompilacji.Jeśli projekt jest zbudowany przy użyciu konfiguracji debugowania, 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
Instruktaż: Przy użyciu programu MSBuild do tworzenia projektu Visual C++