Přehled nástroje MSBuild (Visual C++)
Nástroj MSBuild je standardní sestavení systému pro projekty aplikace Visual C++.Při vytváření projektu v aplikaci Visual Studio integrované vývojové prostředí (IDE) používá nástroj msbuild.exe, souboru formátu XML projektu a volitelná nastavení souborů.Msbuild.exe a soubor projektu na příkazovém řádku můžete použít, IDE poskytuje uživatelské rozhraní, takže snadno konfigurovat nastavení a vytváření projektu.Tento přehled popisuje, jak Visual C++ využívá systém MSBuild.
Požadavky
Přečtěte si následující dokumenty o MSBuild.
MSBuild
Přehled pojmů MSBuild.Nástroj MSBuild odkaz
Referenční informace o systému MSBuild.Odkaz na projekt MSBuild soubor schématu
Seznam prvků schématu XML nástroje MSBuild spolu s jejich atributy a nadřazené a podřízené prvky.Zvláště Upozorňujeme ItemGroup, PropertyGroup, cíl, a úkolu prvky.Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku
Popisuje možnosti, které lze použít s msbuild.exe a argumenty příkazového řádku.Úloha MSBuild odkaz
Popisuje nástroj MSBuild úkoly.Especially note these tasks, which are specific to Visual C++: BscMake úloh, CL úkolu, CPPClean úloh, LIB úkolu, Propojit úkol, Jazyk MIDL úkolu, MT úkolu, RC úkolu, SetEnv úloh, VCMessage úloh, XDCMake úloh, Úkol XSD.
Nástroj MSBuild na příkazovém řádku.
Následující prohlášení Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku dokumentu ukazuje, že provede nástroj msbuild.exe implicitní nebo explicitní project file argument (soubor .vcxproj pro projekty aplikace Visual C++) a nula nebo více příkazového řádku options.
msbuild.exe [project file] [options]
Použití /target (nebo /t) a /property (nebo /p) možnosti příkazového řádku k přepsání vlastnosti a cíle, které jsou uvedeny v souboru projektu.
Základní funkce souboru projektu je určit cíl, což je zejména operace pro váš projekt a vstupy a výstupy, které jsou nutné k provedení operace.Soubor projektu můžete určit jeden nebo více cílů, které mohou obsahovat výchozí cíl.
Každý cíl se skládá z pořadí jednoho nebo více úkoly.Každý úkol představuje.NET Framework, která obsahuje jeden spustitelný příkaz.Například CL úkolu obsahuje cl.exe příkaz.
A úloh parametr je vlastnost třídy úloh a obvykle představuje možnost příkazového řádku příkazu, spustitelného souboru.Například FavorSizeOrSpeed parametr CL úkolu odpovídá /Os a /Ot volby kompilátoru.
Parametry úlohy další podporu infrastruktury MSBuild.Například Sources úloh parametr určuje sadu úkolů, které jsou určené pro jiné úkoly.Další informace o úkolech MSBuild viz Úloha MSBuild odkaz.
Většina úkolů vyžaduje vstupů a výstupů, například názvy souborů, cest a řetězec parametrů číselné nebo logické.Název zdrojového souboru cpp kompilace je například společný vstup.Důležité vstupní parametr je řetězec, který určuje konfiguraci sestavení a platformy, například "Debug|Win32 ".Vstupy a výstupy jsou určeny jeden nebo více uživatelem definované XML Item prvky obsažené v ItemGroup prvku.
Soubor projektu můžete také určit uživatelské Vlastnosti a Skupina položky definicepoložky.Vlastnosti a položky tvoří páry název hodnota, které lze použít jako proměnné v sestavení.Definuje název součásti páru makro, a hodnota prohlašuje hodnota makro.Vlastnost makra lze přistupovat pomocí $(název) zápis a položky makru je přístup pomocí %(název) zápis.
Ostatní prvky XML v souboru projektu můžete test makra a podmíněně hodnotu všechna makra nebo řídit provádění sestavení.Názvy maker a řetězcové literály lze řetězit generovat konstrukce jako cestu a název.Na příkazovém řádku /property možnost nastaví nebo změní vlastnosti projektu.Položky nelze odkazovat na příkazovém řádku.
MSBuild systému můžete spustit podmíněně cíl před nebo za jiný cíl.Systém můžete vytvořit také cíl, zda jsou soubory, které spotřebovávají cíl novější než soubory, které vyzařuje ji na základě.
Nástroj MSBuild v IDE
Při nastavení vlastnosti projektu v IDE a potom uložte projekt Visual C++ nastavení projektu zapíše do souboru projektu.Soubor projektu obsahuje nastavení, které jsou jedinečné pro projekt, ale neobsahuje nastavení, které jsou potřebné k sestavení projektu.Soubor projektu obsahuje Import prvky, které obsahují další síť podporují soubory. Podpůrné soubory obsahují zbývající vlastnosti, cíle a nastavení, které jsou potřebné k sestavení projektu.
Většina cíle a vlastnosti v podpůrné soubory existují výhradně k provádění systému sestavení.Následující část popisuje některé užitečné cíle a vlastnosti, které zadáte v příkazovém řádku nástroje MSBuild.Chcete-li zjistit další cíle a vlastnosti, prozkoumejte soubory v adresáři support.
Podpora soubor adresáře
Primární Visual C++ podpůrné soubory jsou ve výchozím nastavení umístěny v následujících adresářích.
Adresář |
Description |
---|---|
jednotka: \Program Files\MSBuild\Microsoft.Cpp\v4.0\ |
Obsahuje primární cílové soubory (.targets) a vlastnosti souborů (.props), používané cíle.Výchozí makro $(VCTargetsPath) odkazuje na tento adresář. |
jednotka: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platformu\ |
Obsahuje specifické pro platformu cíl a vlastnost soubory přepsat cíle a vlastnosti nadřazeného adresáře.Tento adresář obsahuje také soubor dll, který definuje úkoly, které jsou používány cíle v tomto adresáři. Platformu zastupuje Itanium, Win32, nebo x64 podadresář. |
jednotka: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platformu\ PlatformToolsets\toolset\ |
Obsahuje adresáře, které umožňují sestavení generovat 9.0 nebo aplikace Visual C++ 10.0. Platformu zastupuje Itanium, Win32, nebo x64 podadresář.Toolset zastupuje v90 nebo v100 toolset podadresář. |
Podpůrné soubory
Soubor adresáře podporu obsahují soubory s těmito příponami.
Přípona |
Description |
---|---|
.TARGETS |
Obsahuje Target elementy XML, které určit úkoly, které jsou spouštěny cíl.Může také obsahovat Property Group, Item Group, Item Definition Groupa uživatelem definované Item prvky, které slouží k přiřazení úkolu parametrů souborů a možností příkazového řádku. Další informace naleznete v tématu Cílový prvek (MSBuild). |
.props |
Obsahuje Property Group a uživatelem definované Property elementy XML, které soubor a parametr nastavení použité při nové sestavení. Může také obsahovat Item Definition Group a uživatelem definované Item elementy XML, které určují další nastavení.Položky definované ve skupině Definice podobné vlastnosti, ale není přístupný z příkazového řádku.Soubory projektu Visual C++ často používá položky Vlastnosti představující nastavení. Další informace naleznete v tématu Prvek ItemGroup (MSBuild), Prvek ItemDefinitionGroup (MSBuild) a Element typu položka (MSBuild). |
.xml |
Obsahuje elementy XML, které prohlašuje a prvky uživatelského rozhraní IDE například vlastností a vlastností a prvků pole text a v seznamu inicializovat. Soubory XML přímo podporuje IDE, nebude nástroj MSBuild.Hodnoty vlastností IDE však jsou přiřazeny vytvořit položky a vlastnosti. Většina souborů XML jsou v podadresáři národního prostředí.Soubory pro oblast anglickou USA jsou například v \1033\ $(VCTargetsPath). |
Uživatel cíle a vlastnosti
Chcete-li použít nástroj MSBuild nejefektivnější v příkazovém řádku, pomáhá vědět, které vlastnosti a cíle jsou užitečné a relevantní.Většinu vlastností a cíle provádění systému sestavení Visual C++ a proto nejsou relevantní pro uživatele.Tato část popisuje některé vlastnosti zabere orientované na uživatele a cíle.
Vlastnost PlatformToolset
PlatformToolset Vlastnost určuje, zda Visual C++ 2010 nebo Visual C++ 2008 toolset se používá v sestavení.Hodnota vlastnosti je spojen s literál řetězce, které vytvoří cestu k adresáři, který obsahuje vlastnost a cílové soubory potřebné k sestavení projektu pro konkrétní platformu.
Nastavit PlatformToolset vlastnost v100 použití Visual C++ 2010 nástroje pro vytvoření aplikace.
msbuild myProject.vcxproj /p:PlatformToolset=v100
Nastavit PlatformToolset vlastnost v90 sestavení aplikace pomocí nástroje Visual C++ 2008.Visual C++ 2008 toolset musí již nainstalována v počítači pro tuto vlastnost platné.
msbuild myProject.vcxproj /p:PlatformToolset=v90
Vlastnost UseEnv
Ve výchozím nastavení specifické pro platformu pro aktuální projekt potlačit proměnné prostředí CESTU, zahrnout, LIB, LIBPATH, konfigurace a platformy.Nastavit UseEnv vlastnost true zaručit, že proměnné prostředí není přepsáno.
msbuild myProject.vcxproj /p:UseEnv=true
Cíle
Existují stovky cíle v podpůrné soubory Visual C++.Nejvíce jsou však orientovaný systém cíle, které uživatel může ignorovat.Většina cíle systému předchází znak podtržení (_) nebo název, který začíná "Před", "PrepareFor", "Vypočítat", "Po", "Před" nebo "Post".
Následující tabulka uvádí několik zabere cíle zaměřené na uživatele.
Cíl |
Description |
---|---|
BscMake |
Spustí nástroj procházet informace Údržba nástroj Microsoft bscmake.exe. |
Sestavení |
Vytvoří projekt. Toto je výchozí cíl projektu. |
ClCompile |
Spustí nástroj kompilátoru Visual C++ cl.exe. |
Vyčistit |
Odstraní dočasné a průběžné vytváření souborů. |
Lib |
Spustí nástroj Správce Microsoft 32bitové knihovny lib.exe. |
Odkaz |
Spustí nástroj Visual C++ linker soubor link.exe. |
ManifestResourceCompile |
Výpisy z manifestu seznam zdrojů a poté spustí nástroj Microsoft Windows Resource kompilátor rc.exe. |
Jazyk MIDL |
Spustí nástroj kompilátoru jazyka Microsoft rozhraní definice jazyk (MIDL) aplikace. |
Znovu sestavit |
Čistí a poté vytvoří projekt. |
ResourceCompile |
Spustí nástroj Microsoft Windows Resource kompilátor rc.exe. |
XdcMake |
Spustí nástroj dokumentace XML xdcmake.exe. |
XSD |
Spustí nástroj XML Schema Definition xsd.exe. |