Sdílet prostřednictvím


Použití nástroje MSBuild

NÁSTROJ MSBuild poskytuje dobře definovaný, rozšiřitelný formát XML pro vytváření souborů projektu, které plně popisují položky projektu, které mají být sestaveny, úlohy sestavení a konfigurace sestavení.

Obecné aspekty nástroje MSBuild

Soubory projektu MSBuild, například soubory Visual C# .csproj a Visual Basic .vbproj, obsahují data, která se používají v době sestavení, ale také mohou obsahovat data, která se používají v době návrhu. Data v době sestavení se ukládají pomocí primitiv MSBuild, včetně elementu Item (MSBuild) a elementu vlastnosti (MSBuild). Data v době návrhu, což jsou data specifická pro typ projektu a všechny související podtypy projektu, jsou uložena ve formátu XML volného formátu vyhrazena pro něj.

Nástroj MSBuild nemá nativní podporu pro objekty konfigurace, ale poskytuje podmíněné atributy pro zadání dat specifických pro konfiguraci. Příklad:

<OutputDir Condition="'$(Configuration)'=="release'">Bin\MyReleaseConfig</OutputDir>

Další informace o podmíněných atributech naleznete v tématu Podmíněné konstrukty.

Rozšíření nástroje MSBuild pro váš typ projektu

Rozhraní MSBuild a rozhraní API se můžou v budoucích verzích sady Visual Studio změnit. Proto je vhodné používat třídy MPF (Managed Package Framework), protože poskytují stínění před změnami.

Architektura spravovaných balíčků pro projekty (MPFProj) poskytuje pomocné třídy pro vytváření a správu nového systému projektů. Pokyny ke zdrojovému kódu a kompilaci najdete v souboru MPF for Projects – Visual Studio 2013.

Třídy MPF specifické pro projekt jsou následující:

Třída Implementace
Microsoft.VisualStudio.Package.ProjectNode IVsProject3

IVsCfgProvider2

IPersistFileFormat

IVsSolutionEvents
Microsoft.VisualStudio.Package.ProjectFactory IVsProjectFactory
Microsoft.VisualStudio.Package.HierarchyNode IVsHierarchy
Microsoft.VisualStudio.Package.ProjectConfig IVsCfg

IVsProjectCfg

IVsBuildableProjectCfg

IVsDebuggableProjectCfg
Microsoft.VisualStudio.Package.SettingsPage IPropertyPageSite

Microsoft.VisualStudio.Package.ProjectElement třída je obálka pro položky MSBuild.

Generátory jednoduchých souborů vs. úlohy NÁSTROJE MSBuild

Generátory souborů jsou přístupné pouze v době návrhu, ale úlohy MSBuild lze použít v době návrhu a sestavení. Pro maximální flexibilitu proto použijte úlohy MSBuild k transformaci a generování kódu. Další informace naleznete v tématu Vlastní nástroje.