Étendre le modèle objet du projet de base
Un sous-type de projet peut étendre le modèle objet Automation du projet de base aux emplacements suivants :
Project.Extender(« <ProjectSubtypeName> ») : permet à un sous-type de projet d’offrir un objet avec des méthodes personnalisées de l’objet Project . Un sous-type de projet peut utiliser les extendeurs Automation pour exposer l’objet
Project
. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet àVSHPROPID_ExtObjectCATID
partir de __VSSPROPID2 (correspondant à uneitemid
valeur de VSITEMID. RACINE) CATID.ProjectItem.Extender(« <ProjectSubtypeName> ») : cela permet à un sous-type de projet d’offrir un objet avec des méthodes personnalisées à partir d’un objet particulier ProjectItem au sein du projet. Un sous-type de projet peut utiliser des extendeurs Automation pour exposer cet objet. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet pour l’ID
VSHPROPID_ExtObjectCATID
CATID ( __VSHPROPID2 correspondant à un CATID souhaité VSConstants.VSITEMID).Project.Properties : cette collection expose les propriétés indépendantes de la configuration de l’objet
Project
. Pour plus d’informations sur les propriétésProject
, consultez Properties. Un sous-type de projet peut utiliser les extendeurs Automation pour ajouter ses propriétés à cette collection. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet àVSHPROPID_BrowseObjectCATID
partir __VSHPROPID2 de (correspondant à uneitemid
valeur de VSITEMID. RACINE) CATID.Configuration.Properties : cette collection expose les propriétés dépendantes de la configuration du projet pour une configuration particulière (par exemple, Débogage). Pour plus d’informations, consultez Configuration. Un sous-type de projet peut utiliser les extendeurs Automation pour ajouter ses propriétés à cette collection. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal offre son objet pour le CATID
VSHPROPID_CfgBrowseObjectCATID
(correspondant à uneitemid
valeur de VSITEMID. Racine). L’interface IVsCfgBrowseObject est utilisée pour distinguer un objet de navigation de configuration d’un autre.