Vue d’ensemble des Options de configurationConfiguration Options Overview

Dans les projets Visual StudioVisual Studio peut prendre en charge les configurations multiples qui peuvent être générées, débogué, exécution et/ou déployé.Projects in Visual StudioVisual Studio can support multiple configurations that can be built, debugged, run, and/or deployed. Une configuration est un type de build avec un jeu nommé de propriétés, en général, les commutateurs du compilateur et les emplacements de fichiers.A configuration is a build type described with a named set of properties, typically compiler switches and file locations. Par défaut, les nouvelles solutions contiennent deux configurations Debug et Release.By default, new solutions contain two configurations, Debug and Release. Ces configurations peuvent être appliquées à l’aide de leurs paramètres par défaut ou modifiés pour répondre à vos besoins spécifiques de solution ou projet.These configurations can be applied using their default settings, or modified to meet your specific solution and/or project requirements. Certains packages peuvent être générées de deux manières : en tant qu’un éditeur ActiveX ou un composant en place.Some packages can be built in two ways: as an ActiveX editor or as an in-place component. Pour prendre en charge les configurations à plusieurs, toutefois, les projets est inutile.Projects do not need to support multiple configurations, however. S’il n'existe qu’une seule configuration disponible, cette configuration est mappée dans toutes les configurations de solution.If there is only one configuration available, that configuration is mapped into all of the solution configurations.

Les configurations sont généralement consistant de deux parties : le nom de la configuration (par exemple, Debug ou Release) et les paramètres de plateforme.Configurations typically consist of two parts — the configuration name (such as Debug or Release) and platform settings. Nom de la plateforme de configuration identifie l’environnement que les cibles de configuration, par exemple une API définir ou la plateforme de système d’exploitation.A configuration's platform name identifies the environment that the configuration targets, such as an API set or operating system platform. Les utilisateurs de Visual StudioVisual Studio ne peut pas créer une plateforme ; il doit obligatoirement choisir à partir des sélections à un projet VSPackage permet.Users of Visual StudioVisual Studio cannot create a platform; they must choose from the selections a project VSPackage allows. Lorsqu’un utilisateur s’installe un VSPackage, la plate-forme de distribution créée pendant le développement du package peut apparaître n’importe quel nom de la plateforme souhaitée selon les critères définis par le créateur du package.When a user installs a VSPackage, the delivery platform created during development of the package can surface any platform name desired based on any criteria set by the package creator. L’utilisateur peut ensuite sélectionner dans la liste des plateformes disponibles via le VSPackage lorsque les pages de propriétés sont instanciés.The user can then select from the list of platforms made available through the VSPackage when the property pages are instantiated.

Les noms de plateforme sont facultatifs pas tous les projets prenant en charge le concept de plateformes.Platform names are optional since not all projects support the concept of platforms. Lorsqu’une configuration ne contient pas un nom de la plateforme, la chaîne « n/a » s’affiche dans l’interface utilisateur.When a configuration lacks a platform name, the string "N/A" is displayed in the UI.

Chaque solution possède son propre ensemble de configurations, un seul d'entre eux peut être active à la fois.Each solution has its own set of configurations, only one of which can be active at a time. Une configuration de solution est un ensemble de pas plus d’une configuration à partir de chaque projet.A solution configuration is a set of no more than one configuration from each project. La stipulation « pas plus de » est en raison de l’option pour exclure un projet à partir d’une configuration de solution.The "no more than" stipulation is due to the option to exclude a project from a solution configuration. Les utilisateurs peuvent créer leurs propres configurations de solution personnalisée.Users can create their own custom solution configurations.

Le tableau suivant illustre le programme d’installation de configurations par défaut pour un projet.The following table illustrates the typical configurations setup for a project. Les lignes sont étiquetés avec des noms de configuration et les colonnes avec des noms de plateforme.The rows are labeled with configuration names and the columns with platform names.

Nom de la configurationConfiguration Name Plateforme, Win32Platform — Win32 Plateforme : Win64Platform — Win64
DébogageDebug <Déboguer des paramètres Win32 ><Debug Win32 settings> <Déboguer les paramètres Win64 ><Debug Win64 settings>
Mise en productionRelease <Libérer les paramètres Win32 ><Release Win32 settings> <Libérer les paramètres Win64 ><Release Win64 settings>
MyConfigMyConfig N/AN/A <Les paramètres MyConfig Win64 ><MyConfig Win64 settings>

Note

Impossible de créer une configuration de la solution « MyConfig » qui exclut une plateforme « Win32 », sauf si le projet que cible ne prend pas en charge Win32.You cannot create a "MyConfig" solution configuration that excludes a "Win32" platform unless the project you are targeting does not support Win32.

Modification de la configuration active pour une solution de sélectionne l’ensemble des configurations de projet qui sont créées, exécuter, déboguer ou déployé dans cette solution.Changing the active configuration for a solution selects the set of project configurations that are built, run, debugged or deployed in that solution. Par exemple, si vous modifiez la configuration de solution active à partir de la version Debug, tous les projets dans cette solution sont créées automatiquement avec la configuration du projet indiquée dans la configuration Debug de la solution.For example, if you change the active solution configuration from Release to Debug, all projects within that solution are automatically built with the projects' configuration indicated in the solution's Debug configuration. Les configurations du projet sont généralement également nommé Debug, sauf si l’utilisateur a apporté des modifications manuelles dans le Gestionnaire de Configuration de l’environnement.The projects' configurations are usually also named Debug unless the user has made manual changes in the environment's Configuration Manager.

Les propriétés de configuration de solution stockées pour chaque projet incluent le nom du projet, nom de configuration de projet, les indicateurs pour indiquer s’il faut ou non générer ou déployer et nom de la plateforme.The solution configuration properties stored for each project include the project name, project configuration name, flags to indicate whether or not to build or to deploy, and platform name. Pour plus d’informations, consultez Configuration de la Solution.For more information, see Solution Configuration.

L’utilisateur peut afficher et définir des paramètres de configuration de solution en sélectionnant la solution dans la hiérarchie (Explorateur de solutions), les pages de propriétés en ouvrant.The user can view and set solution configuration parameters by selecting the solution in the hierarchy (Solution Explorer) and opening the property pages. De même, vous pouvez afficher et définir les paramètres de configuration de projet en sélectionnant un projet dans l’Explorateur de solutions et en ouvrant les pages de propriétés pour ce projet.Similarly, you can view and set project configuration parameters by selecting a project in Solution Explorer and opening the property pages for that project.

L’utilisateur peut également générer un projet à l’aide de paramètres de configuration Release et tout le reste avec les paramètres de configuration Debug si nécessaire.The user can also build one project using Release configuration settings and all the rest with Debug configuration settings if necessary. Pour plus d’informations, consultez Configuration de projet pour la génération de.For more information, see Project Configuration for Building.

Le diagramme suivant illustre l’implémentation des interfaces qui prennent en charge les configurations de projet et de solution :The following diagram shows how the interfaces that support solution and project configurations are implemented:

Graphique des Interfaces de configurationConfiguration Interfaces graphic
Interfaces de configurationConfiguration interfaces

Quelques remarques concernant le diagramme précédent :A few notes relating to the previous diagram:

  • IDispatch est marqué comme facultatif dans l’objet de Configuration.IDispatch is marked as optional in the Configuration Object. Plus précisément, elle est facultative pour que les interfaces de configuration sur l’objet.Specifically, it is optional to have the configuration interfaces on the browse object.

  • IVsDebuggableProjectCfg est marqué comme facultatif dans l’objet de Configuration, mais est requis pour la prise en charge le débogage.IVsDebuggableProjectCfg is marked optional in the Configuration Object, but is required for debugging support.

  • IVsProjectCfg2 est marqué comme facultatif dans l’objet de Configuration, mais est nécessaire pour la prise en charge de regroupement de sortie.IVsProjectCfg2 is marked optional in the Configuration Object, but is needed for output grouping support.

  • Le Config Provider objet est marqué en tant qu’objet facultatif, mais l’option est l’emplacement de l’implémenter.The Config Provider object is marked as an optional object, but the option is where to implement it. Vous pouvez implémenter l’objet sur l’objet de projet ou sur un objet distinct.You may implement the object on the project object or on a separate object.

  • IVsCfgProvider2 est nécessaire pour la prise en charge de la plateforme et la modification de configuration.IVsCfgProvider2 is needed for platform support and configuration editing. IVsCfgProvider est suffisant si vous n’implémentez pas cette fonctionnalité.IVsCfgProvider is sufficient if you do not implement that functionality.

  • Certains de ces objets indiqués dans le schéma comme des objets distincts peuvent être combinés dans la même classe, si possible en fonction de vos besoins de conception spécifiques.Some of these objects shown in the diagram as separate objects can be combined into the same class where practical based on your specific design requirements. Dans d’autres rubriques de cette section, toutefois, les objets et les interfaces associées à ces objets seront abordées selon le scénario présenté dans le diagramme.In other topics of this section, however, the objects and interfaces associated with those objects will be discussed according to the scenario presented in the diagram.

  • Certains objets sont implémentées séparément.Certain objects are implemented separately. Par exemple, projet et génération de la solution se produisent sur des threads distincts et de l’objet pour gérer la vie build séparément à partir de l’objet qui décrit la configuration de la build.For example, project and solution building occur on separate threads and the object to manage the build lives separately from the object describing the configuration for the build.

    Pour plus d’informations sur les interfaces de l’objet de Configuration et les interfaces de l’objet de fournisseur de Configuration dans le diagramme précédent, consultez objet de Configuration de projet.For further information on the Configuration Object interfaces and Configuration Provider Object interfaces in the previous diagram, see Project Configuration Object. En outre, Configuration de projet pour la génération de fournit des informations sur les interfaces du Générateur de Configuration et de générer un objet de dépendance, et Configuration de projet pour le déploiement de la gestion des Décrit les interfaces connectées au système de déploiement de configuration et les objets de dépendance de déploiement.In addition, Project Configuration for Building provides more information on the Configuration Builder and Build Dependency Object interfaces, and Project Configuration for Managing Deployment further describes the interfaces attached to the configuration deployer and deployment dependency objects. Enfin, Configuration de projet pour la sortie décrit les interfaces du groupe de sorties et de l’objet de sortie et l’utilisation des pages de propriétés pour afficher et définir les propriétés dépendantes de la configuration.Finally, Project Configuration for Output describes the Output Group and Output Object interfaces, and the use of property pages to view and set configuration-dependent properties.

Voir aussiSee Also

IVsCfgProvider2
Configuration de projet pour la génération Project Configuration for Building
Configuration de la solutionSolution Configuration