Dela via


Anvisningar: Lägga till ett anpassat byggsteg i MSBuild-projekt

Ett anpassat byggsteg är ett användardefinierat steg i en version. Ett anpassat byggsteg fungerar som andra kommandoverktygssteg , till exempel standardkompilerings- eller länkverktygssteget.

Ange ett anpassat byggsteg i projektfilen (.vcxproj). Steget kan ange en kommandorad som ska köras, eventuella ytterligare indata- eller utdatafiler och ett meddelande som ska visas. Om MSBuild fastställer att utdatafilerna är inaktuella när det gäller dina indatafiler visas meddelandet och kommandot körs.

Om du vill ange platsen för det anpassade byggsteget i sekvensen med byggmål använder du ett eller båda xml-elementen CustomBuildAfterTargetsCustomBuildBeforeTargets i projektfilen. Du kan till exempel ange att det anpassade byggsteget körs efter länkverktygets mål och före manifestverktygets mål. Den faktiska uppsättningen tillgängliga mål beror på din specifika version.

Ange elementet CustomBuildBeforeTargets som ska köra det anpassade byggsteget innan ett visst mål körs, elementet CustomBuildAfterTargets som ska köra steget efter en viss målkörning eller båda elementen för att köra steget mellan två intilliggande mål. Om inget av elementen anges körs ditt anpassade byggverktyg på standardplatsen, som är efter länkmålet .

Anpassade byggsteg och anpassade byggverktyg delar den information som anges i XML-elementen CustomBuildBeforeTargets och CustomBuildAfterTargets . Ange därför dessa mål bara en gång i projektfilen.

Så här definierar du vad som körs av det anpassade byggsteget

  1. Lägg till en egenskapsgrupp i projektfilen. I den här egenskapsgruppen anger du kommandot, dess indata och utdata samt ett meddelande, som du ser i följande exempel. I det här exemplet skapas en .cab fil från den main.cpp fil som du skapade i Genomgång: Använda MSBuild för att skapa ett C++-projekt.

    <ItemDefinitionGroup>
      <CustomBuildStep>
        <Command>makecab.exe $(ProjectDir)main.cpp $(TargetName).cab</Command>
        <Outputs>$(TargetName).cab</Outputs>
        <Inputs>$(ProjectDir)main.cpp</Inputs>
      </CustomBuildStep>
    </ItemDefinitionGroup>
    

Så här definierar du var i bygget det anpassade byggsteget ska köras

  1. Lägg till följande egenskapsgrupp i projektfilen. Du kan ange båda målen, eller så kan du utelämna ett om du bara vill att det anpassade steget ska köras före eller efter ett visst mål. I det här exemplet uppmanas MSBuild att utföra det anpassade steget efter kompileringssteget men före länksteget.

    <PropertyGroup>
      <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets>
      <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
    </PropertyGroup>
    

Se även

Genomgång: Använda MSBuild för att skapa ett C++-projekt
Så här använder du build-händelser i MSBuild Projects
Så här lägger du till anpassade byggverktyg i MSBuild Projects