Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En bygghändelse är ett kommando som MSBuild utför i ett visst skede i byggprocessen. Förgenereringshändelsen inträffar innan bygget startar. händelsen före länkningen inträffar innan länksteget startar. och händelsen efter bygget inträffar när bygget har slutförts. En bygghändelse inträffar endast om det associerade byggsteget inträffar. Förlänkhändelsen inträffar till exempel inte om länksteget inte körs.
Var och en av de tre bygghändelserna representeras i en objektdefinitionsgrupp av ett kommandoelement (<Command>) som körs och ett meddelandeelement (<Message>) som visas när MSBuild utför bygghändelsen. Varje element är valfritt och om du anger samma element flera gånger har den senaste förekomsten företräde.
Ett valfritt use-in-build-element (<build-eventUseInBuild>) kan anges i en egenskapsgrupp för att ange om bygghändelsen körs. Värdet för innehållet i ett use-in-build-element är antingen true eller false. Som standard körs en bygghändelse såvida inte motsvarande use-in-build-element är inställt på false.
I följande tabell visas varje XML-element för bygghändelsen:
| XML-element | Beskrivning | 
|---|---|
| PreBuildEvent | Den här händelsen utförs innan bygget börjar. | 
| PreLinkEvent | Den här händelsen körs innan länksteget börjar. | 
| PostBuildEvent | Den här händelsen utförs när bygget har slutförts. | 
I följande tabell visas varje används i build-element :
| XML-element | Beskrivning | 
|---|---|
| PreBuildEventUseInBuild | Anger om händelsen ska köras före bygget . | 
| PreLinkEventUseInBuild | Anger om händelsen före länk ska köras. | 
| PostBuildEventUseInBuild | Anger om händelsen ska köras efter bygget . | 
Exempel
Följande exempel kan läggas till i project-elementet i myproject.vcxproj-filen som skapades i Genomgång: Använda MSBuild för att skapa ett C++-projekt. En förbyggnadshändelse gör en kopia av main.cpp; en förlänkningshändelse gör en kopia av main.obj; och en händelse efter bygget gör en kopia av myproject.exe. Om projektet skapas med hjälp av en versionskonfiguration körs bygghändelserna. Om projektet skapas med hjälp av en felsökningskonfiguration körs inte bygghändelserna.
<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>
Se även
              MSBuild på kommandoraden – C++
              Genomgång: Använda MSBuild för att skapa ett C++-projekt