Porady: dodawanie niestandardowego kroku kompilacji do projektów MSBuild

Niestandardowy krok kompilacji to krok zdefiniowany przez użytkownika w kompilacji. Niestandardowy krok kompilacji zachowuje się jak każdy inny krok narzędzia polecenia, taki jak standardowy krok kompilowania lub narzędzia linku.

Określ niestandardowy krok kompilacji w pliku projektu (vcxproj). Krok może określać wiersz polecenia do wykonania, wszelkie dodatkowe pliki wejściowe lub wyjściowe oraz komunikat do wyświetlenia. Jeśli program MSBuild ustali, że pliki wyjściowe są nieaktualne w odniesieniu do plików wejściowych, wyświetla komunikat i wykonuje polecenie.

Aby określić lokalizację niestandardowego kroku kompilacji w sekwencji obiektów docelowych kompilacji, użyj jednego lub obu CustomBuildAfterTargets elementów i CustomBuildBeforeTargets XML w pliku projektu. Można na przykład określić, że niestandardowy krok kompilacji jest uruchamiany po docelowym narzędziu linku i przed elementem docelowym narzędzia manifestu. Rzeczywisty zestaw dostępnych obiektów docelowych zależy od określonej kompilacji.

CustomBuildBeforeTargets Określ element do wykonania niestandardowego kroku kompilacji przed określonym uruchomieniem obiektu docelowego, CustomBuildAfterTargets element do wykonania kroku po określonym uruchomieniu docelowym lub oba elementy, aby wykonać krok między dwoma sąsiednimi elementami docelowymi. Jeśli żaden z elementów nie zostanie określony, niestandardowe narzędzie kompilacji zostanie wykonane w jego domyślnej lokalizacji, która znajduje się po obiekcie docelowym Link .

Niestandardowe kroki kompilacji i niestandardowe narzędzia kompilacji udostępniają informacje określone w elementach CustomBuildBeforeTargets i CustomBuildAfterTargets XML. W związku z tym określ te obiekty docelowe tylko raz w pliku projektu.

Aby zdefiniować, co jest wykonywane przez niestandardowy krok kompilacji

  1. Dodaj grupę właściwości do pliku projektu. W tej grupie właściwości określ polecenie, jego dane wejściowe i wyjściowe oraz komunikat, jak pokazano w poniższym przykładzie. W tym przykładzie tworzony jest plik cab z pliku main.cpp utworzonego w przewodniku: tworzenie projektu C++ przy użyciu programu MSBuild.

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

Aby zdefiniować, gdzie w kompilacji zostanie wykonany niestandardowy krok kompilacji

  1. Dodaj następującą grupę właściwości do pliku projektu. Możesz określić oba obiekty docelowe lub pominąć ten krok, jeśli chcesz wykonać krok niestandardowy przed lub po określonym obiekcie docelowym. Ten przykład informuje program MSBuild o wykonaniu kroku niestandardowego po kroku kompilacji, ale przed krokiem linku.

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

Zobacz też

Przewodnik: tworzenie projektu C++ przy użyciu programu MSBuild
Instrukcje: korzystanie ze zdarzeń kompilacji w projektach MSBuild
Instrukcje: dodawanie niestandardowych narzędzi kompilacji do projektów MSBuild