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 décrit 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, déboguer et version.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’ActiveX éditeur ou comme un composant sur place.Some packages can be built in two ways: as an ActiveX editor or as an in-place component. Projets n’avez pas besoin de prendre en charge plusieurs configurations, toutefois.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 configuration (tel que déboguer ou version) et les paramètres de plateforme.Configurations typically consist of two parts: the configuration name (such as Debug or Release) and the platform settings. Nom de la plateforme d’une configuration identifie l’environnement que définir la configuration cible, par exemple une API ou une 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 Impossible de créer une plateforme ; ils doivent choisir dans les 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. Quand un utilisateur s’installe un VSPackage, la plateforme de livraison créée au cours du 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 accessibles 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.

Noms de plateforme sont facultatifs dans la mesure où pas tous les projets prennent en charge le concept de plateformes.Platform names are optional since not all projects support the concept of platforms. Quand une configuration n’a pas un nom de 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 a son propre ensemble de configurations, qu’un seul d'entre eux peut être actif à 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 « non supérieur à » est en raison de la possibilité d’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 les configurations par défaut pour un projet.The following table illustrates the typical configurations setup for a project. Les lignes sont étiquetées 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éboguerDebug <Paramètres de Win32 Debug ><Debug Win32 settings> <Paramètres de Win64 Debug ><Debug Win64 settings>
Version releaseRelease <Paramètres de Win32 de version ><Release Win32 settings> <Paramètres de Win64 de version ><Release Win64 settings>
MyConfigMyConfig N/AN/A <Paramètres de MyConfig Win64 ><MyConfig Win64 settings>

Note

Vous ne pouvez pas créer un MyConfig configuration de solution qui exclut une plateforme de Win32, sauf si le projet que vous ciblez 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 sélectionne le jeu de configurations de projet qui est créé, l’exécution, de débogage ou déployé dans cette solution.Changing the active configuration for a solution selects the set of project configurations that is built, run, debugged, or deployed in that solution. Par exemple, si vous modifiez la configuration de solution active version à déboguer, tous les projets au sein de cette solution sont automatiquement générés avec la configuration du projet indiquée dans le configuration de solution débogage.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 également appelées déboguer , sauf si l’utilisateur a apporté des modifications manuelles dans le Gestionnaire de Configuration de l’environnement.The projects' configurations are 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 pour 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) et en ouvrant les pages de propriétés.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 des 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 création de.For more information, see Project configuration for building.

Le diagramme suivant illustre la façon dont les interfaces qui prennent en charge les configurations de solution et de projet sont implémentées :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, il est facultatif pour que les interfaces de configuration sur l’objet de recherche.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.

  • L’objet de fournisseur de configuration est marqué comme un objet facultatif, mais l’option est là pour 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 diagramme, comme des objets distincts peuvent être combinés dans la même classe si possible selon 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 solution génération 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 d’objet de configuration et les interfaces d’objet de fournisseur de configuration dans le diagramme précédent, consultez objet de configuration de projet.For more 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 création de fournit des informations sur la dépendance de build et de générateur de Configuration des interfaces d’objet et configuration de projet pour la gestion du déploiement Décrit les interfaces reliés au responsable du déploiement de la 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 le groupe de sorties et interfaces d’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 création Project configuration for building
Configuration de la solutionSolution configuration