Objet de configuration de projet

L’objet de configuration du projet gère l’affichage des informations de configuration dans l’interface utilisateur.

Visual Studio Project Configuration Pages de propriétés de configuration de projet

Le fournisseur de configuration de projet gère les configurations de projet. L’environnement et d’autres packages, pour accéder et récupérer des informations sur les configurations d’un projet, appelez les interfaces attachées à l’objet Fournisseur de configuration de projet.

Remarque

Vous ne pouvez pas créer ou modifier des fichiers de configuration de solution par programmation. Vous devez utiliser DTE.SolutionBuilder. Pour plus d’informations, consultez Configuration de la solution.

Pour publier un nom complet à utiliser dans l’interface utilisateur de configuration, votre projet doit implémenter get_DisplayName. L’environnement appelle GetCfgs, qui retourne une liste de IVsCfg pointeurs que vous pouvez utiliser pour obtenir les noms d’affichage des informations de configuration et de plateforme à répertorier dans l’interface utilisateur de l’environnement. La configuration active et la plateforme sont déterminées par la configuration du projet stockée dans la configuration de la solution active. La FindActiveProjectCfg méthode peut être utilisée pour récupérer la configuration du projet actif.

L’objet IVsProjectCfgProvider peut éventuellement être implémenté sur l’objet IVsCfgProvider2 avec l’objet IVsCfgProviderEventsHelper pour vous permettre de récupérer un IVsProjectCfg2 objet en fonction du nom de configuration du projet canonique.

Une autre façon de fournir à l’environnement et à d’autres projets l’accès aux configurations de projet consiste à fournir une implémentation de la IVsCfgProvider2::GetCfgs méthode pour renvoyer un ou plusieurs objets de configuration. Les projets peuvent également implémenter IVsProjectCfg2, qui héritent et IVsProjectCfg ainsi de IVsCfg, pour fournir des informations spécifiques à la configuration. IVsCfgProvider2 prend en charge les plateformes et les fonctionnalités permettant d’ajouter, de supprimer et de renommer des configurations de projet.

Remarque

Étant donné que Visual Studio n’est plus limité à deux types de configuration, le code qui traite les configurations ne doit pas être écrit avec des hypothèses sur le nombre de configurations, ni ne doit-il pas être écrit avec l’hypothèse qu’un projet qui n’a qu’une seule configuration est nécessairement Déboguer ou Retail. Cela permet d’utiliser et get_IsDebugOnly d’obsolèteget_IsReleaseOnly.

Appel QueryInterface de l’objet retourné à partir desIVsGetCfgProvider::GetCfgProvider récupérations IVsCfgProvider2. S’il IVsGetCfgProvider n’est pas trouvé en appelant QueryInterface l’objet IVsProject3 projet, vous pouvez accéder à l’objet fournisseur de configuration en appelant QueryInterface l’objet de navigateur racine de hiérarchie pour l’objet retourné IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject), ou via un pointeur vers le fournisseur de configuration retourné pour IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider).

IVsProjectCfg2 fournit principalement l’accès aux objets de gestion de build, de débogage et de déploiement et permet aux projets de regrouper les sorties. Les méthodes et IVsProjectCfgIVsProjectCfg2 peuvent être utilisées pour implémenter IVsBuildableProjectCfg pour gérer le processus de génération et IVsOutputGroup les pointeurs pour les groupes de sortie d’une configuration.

Le projet doit retourner le même nombre de groupes pour chaque configuration qu’il prend en charge, même si le nombre de sorties contenues dans un groupe peut varier de la configuration à la configuration. Les groupes doivent également avoir les mêmes informations d’identificateur (nom canonique, nom complet et informations de groupe) de la configuration à la configuration au sein d’un projet. Pour plus d’informations, consultez Configuration du projet pour la sortie.

Pour activer le débogage, vos configurations doivent implémenter IVsDebuggableProjectCfg. IVsDebuggableProjectCfg est une interface facultative implémentée par les projets pour permettre au débogueur de lancer une configuration et est implémentée sur l’objet de configuration avec IVsCfg et IVsProjectCfg. L’environnement l’appelle lorsque l’utilisateur choisit de démarrer le débogueur en appuyant sur F5.

ISpecifyPropertyPages et IDispatch sont utilisés conjointement avec les pages de propriétés pour récupérer et afficher des informations dépendantes de la configuration à l’utilisateur. Pour plus d’informations, consultez Pages de propriétés.

Voir aussi