MSBuild na příkazovém řádku – C++MSBuild on the command line - C++

Obecně doporučujeme, abyste použili sadu Visual Studio k nastavení vlastností projektu a vyvolali systém MSBuild.In general, we recommend that you use Visual Studio to set project properties and invoke the MSBuild system. Nástroj MSBuild ale můžete použít přímo z příkazového řádku.However, you can use the MSBuild tool directly from the command prompt. Proces sestavení je řízen informacemi v souboru projektu (. vcxproj), které lze vytvořit a upravit.The build process is controlled by the information in a project file (.vcxproj) that you can create and edit. Soubor projektu určuje možnosti sestavení na základě fází sestavení, podmínek a událostí.The project file specifies build options based on build stages, conditions, and events. Kromě toho můžete zadat nula nebo více argumentů možností příkazového řádku.In addition, you can specify zero or more command-line options arguments.

msbuild.exe [ project_file ] [ Možnosti ]msbuild.exe [ project_file ] [ options ]

Použijte možnosti příkazového řádku /target (nebo /t) a /Property (nebo /p) k přepsání specifických vlastností a cílů, které jsou zadány v souboru projektu.Use the /target (or /t) and /property (or /p) command-line options to override specific properties and targets that are specified in the project file.

Základní funkcí souboru projektu je určit cíl, který je konkrétní operací použitým pro váš projekt, a vstupy a výstupy, které jsou nutné k provedení této operace.An essential function of the project file is to specify a target, which is a particular operation applied to your project, and the inputs and outputs that are required to perform that operation. Soubor projektu může určit jeden nebo více cílů, které mohou zahrnovat výchozí cíl.A project file can specify one or more targets, which can include a default target.

Každý cíl se skládá z posloupnosti jednoho nebo více úloh.Each target consists of a sequence of one or more tasks. Jednotlivé úlohy jsou reprezentovány .NET Framework třídou, která obsahuje jeden spustitelný příkaz.Each task is represented by a .NET Framework class that contains one executable command. Například úloha CL obsahuje příkaz cl.exe .For example, the CL task contains the cl.exe command.

Parametr Task je vlastnost úlohy třídy, která obvykle představuje možnost příkazového řádku spustitelného příkazu.A task parameter is a property of the class task and typically represents a command-line option of the executable command. Například FavorSizeOrSpeed parametr CL úlohy odpovídá možnostem kompilátoru /OS a /ot .For example, the FavorSizeOrSpeed parameter of the CL task corresponds to the /Os and /Ot compiler options.

Další parametry úlohy podporují infrastrukturu MSBuild.Additional task parameters support the MSBuild infrastructure. Například Sources parametr Task určuje sadu úloh, které mohou být spotřebovány jinými úkoly.For example, the Sources task parameter specifies a set of tasks that can be consumed by other tasks. Další informace o úlohách MSBuild naleznete v tématu Reference k úkolu.For more information about MSBuild tasks, see Task Reference.

Většina úloh vyžaduje vstupy a výstupy, jako jsou názvy souborů, cesty a řetězcové, číselné nebo logické parametry.Most tasks require inputs and outputs, such as file names, paths, and string, numeric, or Boolean parameters. Například běžným vstupem je název zdrojového souboru. cpp ke kompilaci.For example, a common input is the name of a .cpp source file to compile. Důležitý vstupní parametr je řetězec, který určuje konfiguraci sestavení a platformu, například "ladit | Win32".An important input parameter is a string that specifies the build configuration and platform, for example, "Debug|Win32". Vstupy a výstupy jsou určené jedním nebo více uživatelsky definovanými Item prvky XML obsaženými v ItemGroup elementu.Inputs and outputs are specified by one or more user-defined XML Item elements contained in an ItemGroup element.

Soubor projektu může také určit uživatelem definované vlastnosti a ItemDefinitionGroup položky.A project file can also specify user-defined properties and ItemDefinitionGroup items. Vlastnosti a položky ve formě dvojice název/hodnota, které lze použít jako proměnné v sestavení.Properties and items form name/value pairs that can be used as variables in the build. Název komponenty páru definuje makro a komponenta Value deklaruje hodnotu makra.The name component of a pair defines a macro, and the value component declares the macro value. K makru vlastnosti se dostanete pomocí zápisu $ (Name) a k makru položky se dostanete pomocí%(Name).A property macro is accessed by using $(name) notation, and an item macro is accessed by using %(name) notation.

Jiné prvky XML v souboru projektu mohou testovat makra a následně podmíněně nastavit hodnotu jakéhokoli makra nebo řídit spuštění sestavení.Other XML elements in a project file can test macros, and then conditionally set the value of any macro or control the execution of the build. Názvy maker a řetězcové literály lze zřetězit, aby bylo možné generovat konstrukce, jako je například cesta a název souboru.Macro names and literal strings can be concatenated to generate constructs such as a path and file name. V příkazovém řádku možnost /Property nastaví nebo přepíše vlastnost projektu.On the command line, the /property option sets or overrides a project property. Na příkazový řádek nelze odkazovat na položky.Items cannot be referenced on the command line.

Systém MSBuild může podmíněně spustit cíl před nebo po jiném cíli.The MSBuild system can conditionally execute a target before or after another target. Systém může také vytvořit cíl na základě toho, zda soubory, které cíl využívá, jsou novější než soubory, které posílá.Also, the system can build a target based on whether the files that the target consumes are newer than the files it emits.

Další informace o nástroji MSBuild najdete v těchto tématech:For more information about MSBuild, see:

V tomto oddíluIn This Section

OznačeníTerm DefiniceDefinition
Návod: vytvoření projektu jazyka C++ pomocí nástroje MSBuildWalkthrough: Using MSBuild to Create a C++ Project Ukazuje, jak vytvořit projekt sady Visual Studio C++ pomocí nástroje MSBuild.Demonstrates how to create a Visual Studio C++ project using MSBuild.
Postupy: použití událostí sestavení v projektech MSBuildHow to: Use Build Events in MSBuild Projects Ukazuje, jak zadat akci, která se nachází ve fázi particuler v sestavení: před zahájením sestavování; před zahájením kroku propojení; nebo po konci sestavení.Demonstrates how to specify an action that occurs at a particuler stage in the build: before the build starts; before the link step starts; or after the build ends.
Postupy: Přidání vlastního kroku sestavení do projektů MSBuildHow to: Add a Custom Build Step to MSBuild Projects Ukazuje, jak přidat uživatelsky definovanou fázi do sekvence sestavení.Demonstrates how to add a user-defined stage to the build sequence.
Postupy: Přidání vlastních nástrojů sestavení do projektů MSBuildHow to: Add Custom Build Tools to MSBuild Projects Ukazuje, jak přidružit nástroj sestavení k určitému souboru.Demonstrates how to associate a build tool with a particular file.
Postupy: integrace vlastních nástrojů do vlastností projektuHow to: Integrate Custom Tools into the Project Properties Ukazuje, jak přidat možnosti pro vlastní nástroj do vlastností projektu.Demonstrates how to add options for a custom tool to the project properties.
Postupy: Změna cílové architektury a sady nástrojů platformyHow to: Modify the Target Framework and Platform Toolset Ukazuje, jak zkompilovat projekt pro více platforem nebo sad nástrojů.Demonstrates how to compile a project for multiple frameworks or toolsets.

Viz také:See also

Použití sady nástrojů MSVC z příkazového řádkuUse the MSVC toolset from the command line