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

Inne zasoby

MSBuild (Visual C++)