Postupy: Přidání vlastního nástroje sestavení do projektů MSBuildHow to: Add Custom Build Tools to MSBuild Projects

Vlastní nástroj sestavení je uživatelsky definovaný nástroj příkazového řádku, který je přidružen ke konkrétnímu souboru.A custom build tool is a user-defined, command-line tool that is associated with a particular file.

Pro konkrétní soubor zadejte do souboru projektu (. vcxproj) příkazový řádek, který se má spustit, všechny další vstupní nebo výstupní soubory a zprávu, která se má zobrazit.For a particular file, specify in the project file (.vcxproj) the command line to execute, any additional input or output files, and a message to display. Pokud nástroj MSBuild zjistí, že vaše výstupní soubory jsou bez ohledu na vstupní soubory, zobrazí zprávu a spustí nástroj příkazového řádku.If MSBuild determines that your output files are out of date with regard to your input files, it displays the message and executes the command-line tool.

Chcete-li určit, kdy se vlastní nástroj sestavení spustí, použijte jeden nebo CustomBuildBeforeTargets oba CustomBuildAfterTargets elementy XML v souboru projektu.To specify when the custom build tool executes, use one or both of the CustomBuildBeforeTargets and CustomBuildAfterTargets XML elements in the project file. Například můžete určit, že vlastní nástroj sestavení je spuštěn po kompilátoru MIDL a před kompilátorem jazyka C/C++.For example, you might specify that your custom build tool run after the MIDL compiler and before the C/C++ compiler. Určete CustomBuildBeforeTargets prvek, který má být spuštěn před konkrétním cílovým spuštěním; CustomBuildAfterTargets element pro spuštění nástroje po určitém cíli; nebo obou prvků pro spuštění nástroje mezi spuštěním dvou cílů.Specify the CustomBuildBeforeTargets element to execute the tool before a particular target runs; the CustomBuildAfterTargets element to execute the tool after a particular target; or both elements to run the tool between execution of two targets. Pokud není zadán žádný element, vlastní nástroj sestavení se spustí ve výchozím umístění, které je před cílem MIDL .If neither element is specified, your custom build tool executes at its default location, which is before the MIDL target.

Vlastní kroky sestavení a nástroje pro vlastní sestavení sdílejí informace zadané v CustomBuildBeforeTargets CustomBuildAfterTargets prvcích XML a.Custom build steps and custom build tools share the information specified in the CustomBuildBeforeTargets and CustomBuildAfterTargets XML elements. Zadejte tyto cíle v souboru projektu v jednom okamžiku.Specify those targets one time in your project file.

Přidání vlastního nástroje sestaveníTo add a custom build tool

  1. Přidejte skupinu položek do souboru projektu a přidejte položku pro každý vstupní soubor.Add an item group to the project file and add an item for each input file. Zadejte příkaz, další vstupy, výstupy a zprávy jako metadata položky, jak je znázorněno zde.Specify the command, additional inputs, outputs, and a message as item metadata, as shown here. V tomto příkladu se předpokládá, že soubor faq.txt existuje ve stejném adresáři jako váš projekt.This example assumes that a "faq.txt" file exists in the same directory as your project.

    <ItemGroup>
      <CustomBuild Include="faq.txt">
        <Message>Copying readme...</Message>
        <Command>copy %(Identity) $(OutDir)%(Identity)</Command>
        <Outputs>$(OutDir)%(Identity)</Outputs>
      </CustomBuild>
    </ItemGroup>
    

Chcete-li definovat, kde v sestavení budou spouštěny vlastní nástroje sestaveníTo define where in the build the custom build tools will execute

  1. Přidejte do souboru projektu následující skupinu vlastností.Add the following property group to the project file. Je nutné zadat alespoň jeden z cílů, ale pokud chcete, aby se váš krok sestavení prováděl před (nebo po) konkrétním cílem, můžete ho vynechat.You have to specify at least one of the targets, but you can omit the other if you are only interested in having your build step execute before (or after) a particular target. Tento příklad provede vlastní krok po kompilaci, ale před propojením.This example performs the custom step after compiling but before linking.

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

Viz také:See also

Návod: vytvoření projektu jazyka C++ pomocí nástroje MSBuildWalkthrough: Using MSBuild to Create a C++ Project
Postupy: použití událostí sestavení v projektech MSBuildHow to: Use Build Events in MSBuild Projects
Postupy: Přidání vlastního kroku sestavení do projektů MSBuildHow to: Add a Custom Build Step to MSBuild Projects