À l’aide de MSBuildUsing MSBuild

MSBuild fournit un format XML bien défini et extensible pour la création de fichiers de projet qui décrivent les éléments de projet pour être créés, de tâches de génération et de configurations de build entièrement.MSBuild supplies a well-defined, extensible XML format for creating project files that fully describe project items to be built, build tasks, and build configurations.

Considérations générales MSBuildGeneral MSBuild Considerations

Fichiers de projet MSBuild, par exemple, Visual C#Visual C# .csproj et Visual BasicVisual Basic fichiers .vbproj, contiennent des données qui sont utilisées au moment de la génération, mais peuvent également contenir des données qui sont utilisées au moment du design.MSBuild project files, for example, Visual C#Visual C# .csproj and Visual BasicVisual Basic .vbproj files, contain data that is used at build time, but also can contain data that is used at design time. Données au moment de la build sont stockées à l’aide de MSBuild, y compris les primitives élément, élément (MSBuild) et Property, élément (MSBuild).Build-time data is stored using MSBuild primitives, including Item Element (MSBuild) and Property Element (MSBuild). Les données au moment du design, qui est spécifique au type de projet et les sous-types de projet connexes de données, sont stockées dans le XML de forme libre réservé pour lui.Design-time data, which is data specific to the project type and any related project subtypes, is stored in free-form XML reserved for it.

MSBuild n’a pas de prise en charge native pour les objets de configuration, mais fournit des attributs conditionnels pour spécifier les données de configuration spécifiques.MSBuild does not have native support for configuration objects, but does provide conditional attributes for specifying configuration-specific data. Par exemple :For example:

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

Pour plus d’informations sur les attributs conditionnels, consultez construit conditionnel.For more information on conditional attributes, see Conditional Constructs.

Extension de votre Type de projet MSBuildExtending MSBuild for Your Project Type

Interfaces de MSBuild et API est susceptibles de changer dans les futures versions de Visual StudioVisual Studio.MSBuild interfaces and APIs are subject to change in future versions of Visual StudioVisual Studio. Par conséquent, il est préférable d’utiliser les classes de framework (MPF) de package gérée, car elles offrent la protection contre les modifications.Therefore, it is prudent to use the managed package framework (MPF) classes because they provide shielding from changes.

Managed Package Framework pour les projets (MPFProj) fournit des classes d’assistance pour créer et gérer le nouveau système de projet.The Managed Package Framework for Projects (MPFProj) provides helper classes for creating and managing new project system. Vous pouvez trouver la source des instructions de code et la compilation à MPF de projets - Visual Studio 2013.You can find the source code and compilation instructions at MPF for Projects - Visual Studio 2013.

Les classes MPF spécifiques au projet sont les suivantes :The project-specific MPF classes are as follows:

ClasseClass ImplémentationImplementation
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 classe est un wrapper pour les éléments de MSBuild.Microsoft.VisualStudio.Package.ProjectElement class is a wrapper for MSBuild items.

Vs de générateurs de fichier unique. Tâches MSBuildSingle File Generators vs. MSBuild Tasks

Fichier unique les générateurs sont accessibles au moment du design uniquement, mais les tâches MSBuild peuvent être utilisés au moment du design et le moment de la génération.Single file generators are accessible at design-time only, but MSBuild tasks can be used at design-time and build-time. Pour une flexibilité maximale, vous devez donc utiliser des tâches MSBuild pour transformer et de générer du code.For maximum flexibility, therefore, use MSBuild tasks to transform and generate code. Pour plus d’informations, consultez outils personnalisés.For more information, see Custom Tools.

Voir aussiSee Also

Référence MSBuild MSBuild Reference
MSBuild MSBuild
Outils personnalisésCustom Tools