MSBuild

Microsoft Build Engine Je platforma pro vytváření aplikací.Tento stroj, který je znám také jako nástroj MSBuild, obsahuje schéma XML pro soubor projektu, který řídí způsob sestavení platformy zpracuje a vytvoří software.Sada Visual Studio používá nástroj MSBuild, ale není závislé na aplikaci Visual Studio. Vyvoláním msbuild.exe na soubor projektu nebo řešení můžete organizovat a vytvářet produkty v prostředích, kde není nainstalována aplikace Visual Studio.

Aplikace Visual Studio používá k načtení a sestavovat projekty spravované MSBuild.Soubory projektu v aplikaci Visual Studio (CSPROJ, vbproj, vcxproj a ostatní) obsahují kód XML nástroje MSBuild, který se spustí při vytvoření projektu pomocí rozhraní IDE.Projekty aplikace Visual Studio importovat všechna potřebná nastavení a vytvořit procesy typické vývojové práce, ale můžete rozšířit nebo upravovat z aplikace Visual Studio nebo pomocí editoru XML.

Následující příklady ilustrují při sestavení může spustit pomocí příkazového řádku MSBuild namísto rozhraní IDE sady Visual Studio.

  • Není-li nainstalována aplikace Visual Studio.

  • Chcete použít 64bitové verze nástroje MSBuild.Tato verze nástroje MSBuild je obvykle zbytečné, ale umožňuje nástroj MSBuild pro přístup k více paměti.

  • Chcete-li spustit sestavení ve více procesů.Můžete však použít rozhraní IDE k dosažení stejného výsledku v projektech v jazyce C++ a od roku 2012 Visual Studio bude C#.

  • Chcete-li změnit systém sestavení.Například můžete chtít povolit následující akce:

    • Preprocess soubory dříve, než dosáhnou kompilátor.

    • Zkopírujte sestavení výstupy na jiné místo.

    • Vytvoření komprimované soubory z výstupy sestavení.

    • Proveďte post-processingu krok.Například můžete chtít razítka s jinou verzi sestavení.

Můžete napsat kód v integrovaném vývojovém prostředí sady Visual Studio, ale spustit sestavení pomocí nástroje MSBuild.Jako další možnost můžete sestavení kódu v rozhraní IDE na vývojovém počítači, ale použít k vytvoření kódu, který je integrován z více vývojářů příkazového řádku MSBuild.

[!POZNÁMKA]

Pomocí služby Team Foundation Build automaticky zkompilovat, testování a nasazení vaší aplikace.Sestavení systému můžete automaticky spustit sestavení, pokud vývojáři změnami kódu (například jako součást strategie Nepřetržitá integrace) nebo podle plánu (např. noční sestavení sestavení ověřovací Test).Team Foundation Build kompiluje kód pomocí nástroje MSBuild.Další informace naleznete v tématu Vytváření aplikace.

Toto téma obsahuje přehled nástroje MSBuild.Úvodní kurz, viz Názorný postup: Pomocí nástroje MSBuild.

V tomto tématu

  • Na příkazovém řádku pomocí nástroje MSBuild

  • Soubor projektu

    • Vlastnosti

    • Položky

    • Úkoly

    • Cíle

  • Vytvoření protokolů

  • V aplikaci Visual Studio pomocí nástroje MSBuild

  • Multitargeting

Na příkazovém řádku pomocí nástroje MSBuild

Chcete-li spustit MSBuild na příkazovém řádku, předejte soubor projektu MSBuild.exe, spolu s příslušnými parametry příkazového řádku.Možnosti příkazového řádku umožňují nastavit vlastnosti, provést zvláštní cíle a nastavit další možnosti, které řídí proces sestavení.Například použijete následující syntaxi příkazového řádku pro sestavení souboru MyProj.proj se Configuration vlastnost nastavena na Debug.

MSBuild.exe MyProj.proj /property:Configuration=Debug

Další informace o MSBuild naleznete v tématu Možnosti příkazového řádku, Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku

Poznámka k zabezpečeníPoznámka k zabezpečení

Před stažením projekt určete důvěryhodnost kódu.

Soubor projektu

MSBuildpoužívá formát souboru projekt založený na jazyce XML, který je jednoduchý a rozšiřitelné.MSBuild Formát souboru projektu umožňuje vývojářům, které jsou popsány položky, které mají být vytvořeny, a také, jak mají být sestaveny pro různé operační systémy a konfigurace.Formát souboru projektu navíc umožňuje vývojářům Autor opakovaně sestavení pravidel, které lze promítnou do samostatných souborů tak, aby sestavení nelze provést konzistentně v různých projektech v produktu.

Následující oddíly popisují některé základní prvky MSBuild formát souboru projektu. Výukový program o tom, jak vytvořit soubor základního projektu naleznete v Názorný postup: Vytvoření souboru MSBuild projektu od začátku.

Dd393574.collapse_all(cs-cz,VS.110).gifVlastnosti

Vlastnosti představují dvojice klíč/hodnota, které lze použít ke konfiguraci sestavení.Vlastnosti jsou deklarovány tak, že vytvoříte element, který má název vlastnosti jako podřízený PropertyGroup prvku.Například následující kód vytvoří vlastnost s názvem BuildDir , který má hodnotu Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

Můžete definovat vlastnost podmíněně umístěním Condition atributu v elementu.Obsah podmíněné prvky jsou ignorovány, pokud bude podmínka vyhodnocena jako true.V následujícím příkladu Configuration prvek je definován, je-li dosud nebyl definován.

<Configuration  Condition=" '$(Configuration)' == '' ">Debug</Configuration>

Vlastnosti lze odkazovat v celém souboru projektu pomocí syntaxe $(PropertyName).Například můžete odkazovat vlastnosti v předchozích příkladech pomocí $(BuildDir) a $(Configuration).

Další informace o vlastnostech naleznete v tématu Nástroj MSBuild vlastnosti.

Dd393574.collapse_all(cs-cz,VS.110).gifPoložky

Položky jsou vstupy do sestavení systému a obvykle představují soubory.Položky jsou seskupeny do typů položek na základě názvů položky definované uživatelem.Tyto typy položek lze použít jako parametry pro úkoly, které používají jednotlivé položky k provedení kroků procesu sestavení.

Položky jsou deklarovány v souboru projektu tak, že vytvoříte element, který má název typu položky jako podřízený ItemGroup prvku.Například následující kód vytvoří typ položky s názvem Compile, který obsahuje dva soubory.

<ItemGroup>
    <Compile Include = "file1.cs"/>
    <Compile Include = "file2.cs"/>
</ItemGroup>

Typy položek lze odkazovat v celém souboru projektu pomocí syntaxe @(Typ položky).Například typ položky v příkladu by odkázat pomocí @(Compile).

V MSBuild nastavení názvy prvků a atributů rozlišují velká a malá písmena.Názvy vlastností, položky a metadata jsou však nikoli.Následující příklad vytvoří typ položky Compile, comPile, nebo další velká změna a vrací hodnotu "one.cs;two.cs" typ položky.

<ItemGroup>
  <Compile Include="one.cs" />
  <comPile Include="two.cs" />
</ItemGroup>

Položky mohou být deklarovány pomocí zástupných znaků a mohou obsahovat další metadata pro více pokročilejších scénářů sestavení.Další informace o položkách naleznete v tématu Nástroj MSBuild položky.

Dd393574.collapse_all(cs-cz,VS.110).gifÚkoly

Úkoly jsou jednotky spustitelný kód, který MSBuild projekty slouží k provádění operací sestavení.Úkol může být například sestavit vstupní soubory nebo externí nástroj spustit.Úkoly lze znovu použít, a budou moci sdílet různými vývojáři v různých projektech.

Logika spuštění úlohy je zapsána ve spravovaném kódu a mapována na MSBuild s použitím UsingTask prvku.Můžete napsat vlastní úkol pomocí vytváření spravovaný typ, který implementuje ITask rozhraní.Další informace o tom, jak psát úkoly, viz Úkol psaní.

MSBuildobsahuje běžné úkoly, které lze upravit tak, aby vyhovovala vašim požadavkům.Příklady jsou kopie, který zkopíruje soubory, MakeDir, která vytváří adresáře, a Csc, který kompiluje Visual C# soubory zdrojového kódu.Seznam dostupných úkolů, jakož i informace o použití naleznete v tématu Úloha MSBuild odkaz.

Úkol je proveden v MSBuild soubor projektu tak, že vytvoříte element, který má název úlohy jako podřízený cílové element.Úkoly obvykle přijímat parametry, které jsou předány jako atributy elementu.Oba MSBuild vlastnosti a položky lze použít jako parametry.Například následující kód volá MakeDir úkolů a předává jí hodnotu BuildDir vlastnost, která byla definována v předchozím příkladu.

<Target Name="MakeBuildDirectory">
    <MakeDir  Directories="$(BuildDir)" />
</Target>

Další informace o úlohách naleznete v tématu Nástroj MSBuild úkoly.

Dd393574.collapse_all(cs-cz,VS.110).gifCíle

Cíle seskupit úkoly v určitém pořadí a vystavit oddílů souboru projektu jako vstupní body do procesu sestavení.Cíle jsou často rozděleny do logických částí zvýšit čitelnost a umožňují rozšíření.Rozdělení kroky sestavení do cíle umožňuje volat jednu část procesu sestavení z jiných cílů bez kopírování do každé cílové části kódu.Například několik vstupních bodů do procesu sestavení vyžadují-li odkazy, které má být vytvořena, můžete vytvořit cíl, který vytváří odkazy a spusťte tento cíl z každé vstupní bod, kde je požadováno.

Cíle jsou deklarovány v souboru projektu s použitím Target element.Například následující kód vytvoří cíl s názvem Compile, které pak volání Csc úkol, který obsahuje seznam položek, který byl deklarován v předchozím příkladu.

<Target Name="Compile">
    <Csc Sources="@(Compile)" />
</Target>

Ve více pokročilejších scénářů cíle slouží k označení vztahů mezi sebou a provádět detekci závislosti tak, aby celé části procesu sestavení mohou být přeskočeny, je-li, jejichž cílem je aktuální.Další informace o cílech, viz Nástroj MSBuild cíle.

Vytvoření protokolů

Můžete protokolovat sestavení chyby, varování a zprávy konzoly nebo jiného výstupního zařízení.Další informace naleznete v tématu Získávání protokolů o sestavení pomocí nástroje MSBuild a Protokolování v MSBuild.

V aplikaci Visual Studio pomocí nástroje MSBuild

Visual Studiopoužívá MSBuild formát souboru projektu k ukládání informací sestavení o spravované projekty.Nastavení, které jsou přidány nebo změněny pomocí projektu Visual Studio rozhraní se projeví v. * proj soubor, který je generován pro každý projekt.Visual Studiopoužívá hostované instanci MSBuild pro sestavení spravovaného projektů.To znamená, že spravovaný projekt, které mohou být vytvořeny Visual Studio nebo na příkazovém řádku (i když Visual Studio není nainstalována), a výsledky budou shodné.

Kurz týkající se použití nástroje MSBuild v aplikaci Visual Studio, viz Názorný postup: Pomocí nástroje MSBuild.

Multitargeting

Pomocí sady Visual Studio může kompilovat aplikaci na jednu z několika verzích rozhraní.NET Framework.Například při kompilaci aplikace v rozhraní.NET Framework 2.0 na 32bitové platformě a kompilujete stejné aplikace spustitelné na 4.5 rozhraní .NET Framework na 64bitovou platformu.Schopnost zkompilovat na více než jeden rámec s názvem multitargeting.

Zde jsou některé z výhod multitargeting:

  • Můžete vyvíjet aplikace, které jsou cíleny na starší verze rozhraní.NET Framework, verze 2.0, 3.0 a 3.5.

  • Můžete zaměřit rozhraní než rozhraní.NET Framework, například program Silverlight.

  • Můžete zaměřit framework profilu, což je předdefinovaná část cílové rozhraní.

  • Pokud bude vydána aktualizace service pack pro aktuální verzi rozhraní.NET Framework, může jeho cíl.

  • Multitargeting zaručuje, že aplikace používá pouze funkce, které jsou k dispozici v cílové rozhraní a platformu.

Další informace naleznete v tématu Přehled Multitargeting MSBuild.

Příbuzná témata

Title

Description

Názorný postup: Vytvoření souboru MSBuild projektu od začátku

Ukazuje, jak vytvořit základní projekt soubor postupně, s použitím pouze text editor.

Názorný postup: Pomocí nástroje MSBuild

Zavádí stavební kameny MSBuild a ukazuje, jak zapisovat, manipulaci a ladění MSBuild projekty bez zavření rozhraní IDE sady Visual Studio.

Nástroj MSBuild koncepty

Nabízí čtyři stavební bloky MSBuild: vlastnosti položky, cíle a úkoly.

Nástroj MSBuild položky

Popisuje obecné principy MSBuild souborů formátu a jak kusy splývají.

Nástroj MSBuild vlastnosti

Uvádí vlastnosti a vlastnosti kolekce.Vlastnosti jsou páry klíč/hodnota, které lze použít ke konfiguraci sestavení.

Nástroj MSBuild cíle

Vysvětluje, jak seskupit úkoly společně v určitém pořadí a povolit oddíly do procesu sestavení, chcete-li volat pomocí příkazového řádku.

Nástroj MSBuild úkoly

Ukazuje, jak vytvořit jednotku spustitelný kód, který lze použít ve MSBuild k operacím atomovou sestavení.

Nástroj MSBuild podmínky

Tento článek popisuje použití Condition atributu v elementu MSBuild.

Nástroj MSBuild pokročilé koncepty

Představuje dávkování, provedení transformace, multitargeting a dalších pokročilých technik.

Protokolování v MSBuild

Popisuje, jak protokolovat události sestavení, zprávy a chyby.

Další zdroje MSBuild

Seznam prostředků Společenství a podporu pro další informace o nástroj MSBuild.

Odkaz