Udostępnij za pośrednictwem


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++

Inne zasoby

Program MSBuild (Visual C++)