Utilisation de MSBuildUsing MSBuild

MSBuild fournit un format XML bien défini et extensible pour la création de fichiers de projet qui décrivent entièrement les éléments de projet pour être généré, les tâches de génération et les configurations de build.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 des primitives de MSBuild, y compris Item, é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, c'est-à-dire les données spécifiques au type de projet et les sous-types de projets connexes, sont stockées dans le format XML libre réservé pour celui-ci.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. Exemple :For example:

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

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

Extension de MSBuild pour votre Type de projetExtending MSBuild for Your Project Type

Interfaces de MSBuild et API sont 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 trouverez la source des instructions de code et la compilation à MPF pour les 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 MSBuild.Microsoft.VisualStudio.Package.ProjectElement class is a wrapper for MSBuild items.

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

Un fichier unique 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, par conséquent, utilisez les tâches MSBuild pour transformer et 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