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í |
---|
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.
Vlastnosti
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.
Polož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.
Ú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.
Cí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. |
Zavádí stavební kameny MSBuild a ukazuje, jak zapisovat, manipulaci a ladění MSBuild projekty bez zavření rozhraní IDE sady Visual Studio. |
|
Nabízí čtyři stavební bloky MSBuild: vlastnosti položky, cíle a úkoly. |
|
Popisuje obecné principy MSBuild souborů formátu a jak kusy splývají. |
|
Uvádí vlastnosti a vlastnosti kolekce.Vlastnosti jsou páry klíč/hodnota, které lze použít ke konfiguraci sestavení. |
|
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. |
|
Ukazuje, jak vytvořit jednotku spustitelný kód, který lze použít ve MSBuild k operacím atomovou sestavení. |
|
Tento článek popisuje použití Condition atributu v elementu MSBuild. |
|
Představuje dávkování, provedení transformace, multitargeting a dalších pokročilých technik. |
|
Popisuje, jak protokolovat události sestavení, zprávy a chyby. |
|
Seznam prostředků Společenství a podporu pro další informace o nástroj MSBuild. |
Odkaz
Nástroj MSBuild odkaz
Obsahuje odkazy na témata obsahující referenční informace.Nástroj MSBuild Glosář
Definuje společné termíny MSBuild.