Sdílet prostřednictvím


MSBuild

Microsoft Build Engine Je platforma pro vytváření aplikací.Tento modul, který bývá také označován jako MSBuild, poskytuje schématu XML pro soubor projektu, která řídí způsob sestavení platformy zpracuje a sestavení software.Sada Visual Studio používá MSBuild, ale není zaškrtnuta závisí na Visual Studio. Vyvoláním msbuild.exe v souboru projektu nebo řešení můžete organizovat a vytvářet produkty v prostředích, kde není nainstalované sady Visual Studio.

Visual Studio používá MSBuild k načtení a vytvářet spravované projekty.Soubory projektu v sadě Visual Studio (CSPROJ, vbproj, vcxproj a ostatními) obsahovat kód MSBuild XML, který provede, když se při vytváření projektu s použitím rozhraní IDE.Projekty sady Visual Studio importovat nezbytná nastavení a vytvoření procesy provést typické vývojové práci, ale mohou rozšířit nebo je z měnit v rámci sady Visual Studio nebo pomocí editoru XML.

Informace o nástroji MSBuild jazyka C++ naleznete v tématu MSBuild (Visual C++).

Následující příklady ukazují při sestavení může spustit pomocí příkazového řádku MSBuild namísto integrovaného vývojového prostředí sady Visual Studio.

  • Visual Studio není nainstalována.

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

  • Chcete spustit sestavení v různé procesy.Pomocí rozhraní IDE však můžete dosáhnout stejného výsledku na projekty v jazyce C++ a C#.

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

    • Předběžné zpracování souborů, než dosáhnou kompilátor.

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

    • Vytvořte komprimované soubory z výstupu sestavení.

    • Proveďte po zpracování krok.Můžete například chtít razítka sestavení s jinou verzí.

Psaní kódu v integrovaném vývojovém prostředí sady Visual Studio, ale spustit sestaví s použitím MSBuild.Jako další možnost sestavení kódu v prostředí IDE na vývojovém počítači, ale použít příkazovém řádku MSBuild k sestavení kódu, který je integrován z více vývojářů.

[!POZNÁMKA]

Team Foundation Build slouží k automaticky zkompilují, testování a nasazení vaší aplikace.Sestavení systému můžete automaticky spuštěn sestavení, jestliže vývojáři vrátit se změnami kódu (například jako součást strategie průběžné integrace) nebo podle plánu (například kódu sestavení sestavení Test ověření).Team Foundation Build kompiluje kódu pomocí nástroje MSBuild.Další informace naleznete v tématu Sestavení aplikace.

Toto téma obsahuje přehled MSBuild.Úvodní kurz, naleznete v části Návod: Použití nástroje MSBuild.

V tomto tématu

  • Používání nástroje MSBuild na příkazovém řádku

  • Soubor projektu

    • Vlastnosti

    • Položky

    • Úkoly

    • Cíle

  • Protokoly sestavení

  • Používání nástroje MSBuild v sadě Visual Studio

  • Cílení na více verzí

Používání nástroje MSBuild na příkazovém řádku

Chcete-li spustit MSBuild na příkazovém řádku, předejte MSBuild.exe, projektovém souboru spolu s příslušnými parametry příkazového řádku.Parametry příkazového řádku vám umožní nastavit vlastnosti, provést zvláštní cíle a nastavit další možnosti, které řídí proces sestavení.Například by pomocí následující syntaxe příkazového řádku pro sestavení souboru MyProj.proj s Configuration vlastnost nastavena na hodnotu Debug.

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

Další informace o MSBuild možnosti příkazového řádku naleznete v části 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 zahájením stahování projektu, určete důvěryhodnosti kódu.

Soubor projektu

MSBuildpoužívá formát souborů založený na jazyce XML projektu, který je přehledné a rozšiřitelné.MSBuild Formát souboru projektu umožňuje vývojářům, které popisují položky, které se má být sestaven a také, jak mají být sestaven pro různé operační systémy a konfigurací.Kromě toho formát souboru projektu umožňuje vývojářům Autor opakovaně použitelné sestavení pravidla, která může být rozdělen do samostatných souborů tak, aby sestavení provést konzistentní napříč různými projekty v produktu.

Níže uvedené části popisují některé základní prvky MSBuild formát souboru projektu. Kurz o tom, jak vytvořit soubor základního projektu, naleznete v části Návod: Vytvoření souboru projektu MSBuild od začátku.

Vlastnosti

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

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

Můžete definovat vlastnost podmíněně umístěním Condition atribut v elementu.Obsah podmíněné elementy jsou ignorována, pokud je podmínka vyhodnocena jako true.V následujícím příkladu Configuration element je definován, pokud ještě nebyl definován.

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

Vlastnosti lze odkazovat v celém souboru projektu s použitím 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 Vlastnosti nástroje MSBuild.

Položky

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

Položky jsou deklarovány v souboru projektu vytvořením element, který má název typu položky jako podřízený ItemGroup elementu.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 s použitím syntaxe @(typ položky).Například by být odkazován typ položky v tomto příkladu pomocí @(Compile).

Názvy prvků a atributů jsou ve MSBuild, velká a malá písmena.Názvy vlastností, položky a metadata jsou však není.Následující příklad vytvoří typ položky Compile, comPile, nebo jiné případu variantou a vrací hodnotu "one.cs;two.cs" typ položky.

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

Položky lze deklarovat pomocí zástupných znaků a může obsahovat další metadata pro pokročilejší scénáře sestavení.Další informace o položky, naleznete v části Položky nástroje MSBuild.

Úkoly

Úlohy jsou jednotky spustitelný soubor kód, který MSBuild projekty slouží k provádění operací sestavení.Úloha může například kompilaci vstupní soubory nebo spuštění externí nástroje.Úlohy lze opětovně použít a jejich může být sdílen různí vývojáři v různých projektech.

Logika spuštění úkolu je napsána ve spravovaném kódu a namapovány na MSBuild s použitím UsingTask elementu.Můžete napsat vlastní úlohy podle vytváření spravovaného typu, který implementuje ITask rozhraní.Další informace o tom, jak napsat úlohy, naleznete v části Zápis úloh.

MSBuildzahrnuje běžné úkoly, které můžete upravit, aby vyhovoval vašim požadavkům.Příklady jsou kopie, který kopíruje soubory, MakeDir, který vytvoří adresáře a Csc, který zkompiluje Visual C# soubory zdrojového kódu.Seznam dostupných úkolů a informace o použití naleznete v tématu Referenční dokumentace úlohy nástroje MSBuild.

Úloha spuštěn MSBuild projektový soubor vytvořením element, který má název úlohy jako podřízený cíl elementu.Úlohy obvykle přijmout parametry, které jsou předává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á mu 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 Úlohy nástroje MSBuild.

Cíle

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

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

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

Pokročilejší scénáře cíle lze použít k popsání vztahy mezi sebou a provést analýzu závislostí tak, aby celou části procesu sestavení mohou být přeskočeny, je-li tento cíl je aktuální.Další informace o cíle, naleznete v části Cíle nástroje MSBuild.

Protokoly sestavení

Na konzole nebo jiné výstupní zařízení můžete protokolovat chyby sestavení, upozornění a zprávy.Další informace naleznete v tématu Získávání protokolů o sestavení pomocí nástroje MSBuild a Protokolování v nástroji MSBuild.

Používání nástroje MSBuild v sadě Visual Studio

Visual Studiopoužívá MSBuild formát souboru projektu k uložení sestavení informací o spravovaných projekty.Nastavení, které jsou přidány nebo změnit pomocí projektu Visual Studio rozhraní se projeví v. * proj soubor, který je generován pro každý projekt.Visual Studiopoužívá hostované instanci MSBuild vytvářet spravované projekty.To znamená, že spravovaný projekt může vestavěnou Visual Studio nebo na příkazovém řádku (i v případě Visual Studio není nainstalována), a výsledky budou stejné.

Kurz o tom, jak používat nástroj MSBuild v sadě Visual Studio, naleznete v části Návod: Použití nástroje MSBuild.

Cílení na více verzí

Pomocí sady Visual Studio můžete zkompilovat aplikaci spustit na některou z různých verzích rozhraní .NET Framework.Například můžete zkompilovat ke spuštění aplikace v rozhraní .NET Framework 2.0 na platformě 32-bit a můžete zkompilovat stejné ke spuštění aplikace v rozhraní .NET Framework 4.5 na 64bitové platformě.Možnost pro kompilaci na více než jeden framework se nazývá multitargeting.

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

  • Můžete vyvíjet aplikace, které mají starší verze rozhraní .NET Framework, například verze 2.0, 3.0 a 3.5.

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

  • Mohou být zaměřeny profil framework, což je předdefinovaná část cílové rozhraní.

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

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

Další informace naleznete v tématu Přehled cílení na více verzí nástroje MSBuild.

Související témata

Název

Popis

Návod: Vytvoření souboru projektu MSBuild od začátku

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

Návod: Použití nástroje MSBuild

Představuje základní stavební bloky jazyka MSBuild a ukazuje, jak zapsat, manipulaci a ladit projekty MSBuild bez zavření integrovaného vývojového prostředí sady Visual Studio.

Koncepty nástroje MSBuild

Uvede čtyři stavební kameny sad MSBuild: vlastnosti, položky, cílů a úlohy.

Položky nástroje MSBuild

Popisuje obecné principy MSBuild souborů formátu a jak kusy probíhá podle očekávání.

Vlastnosti nástroje MSBuild

Představuje vlastnosti a kolekce vlastností.Dvojice klíč/hodnota, které lze použít ke konfiguraci sestavení jsou vlastnosti.

Cíle nástroje MSBuild

Vysvětluje, jak seskupení úkolů spolupracovat v určitém pořadí a povolit části procesu sestavení, která se má volat na příkazovém řádku.

Úlohy nástroje MSBuild

Ukazuje, jak vytvořit jednotku spustitelného kódu, které mohou být využívána MSBuild k provádění operací atomické sestavení.

Podmínky nástroje MSBuild

Popisuje, jak používat Condition atributu v elementu MSBuild.

Rozšířené koncepty nástroje MSBuild

Uvede dávky, provádění transformace, multitargeting a dalších pokročilých technik.

Protokolování v nástroji MSBuild

Popisuje, jak do protokolu událostí sestavení, zprávy a chyby.

Další prostředky nástroje MSBuild

Seznam materiálů, komunita a podpora pro další informace o MSBuild.

Odkaz