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.