Freigeben über


Erweitern des Objektmodells des Basisprojekts

Ein Projektuntertyp kann das Automatisierungsobjektmodell des Basisprojekts an den folgenden Stellen erweitern:

  • Project.Extender("<ProjectSubtypeName>"): Dadurch kann ein Projektuntertyp ein Objekt mit benutzerdefinierten Methoden aus dem Project Objekt anbieten. Ein Projektuntertyp kann Automatisierungs-Extender verwenden, um das Project Objekt verfügbar zu machen. Die IInternalExtenderProvider schnittstelle, die auf dem Standard Projektuntertypaggregator implementiert ist, sollte ihr Objekt für den VSHPROPID_ExtObjectCATID __VSSPROPID2 von (entsprechend einem itemid Wert von VSITEMID) anbieten. Stamm) CATID.

  • ProjectItem.Extender("<ProjectSubtypeName>"): Dadurch kann ein Projektuntertyp ein Objekt mit benutzerdefinierten Methoden aus einem bestimmten ProjectItem Objekt innerhalb des Projekts anbieten. Ein Projektuntertyp kann Automatisierungs extender verwenden, um dieses Objekt verfügbar zu machen. Die IInternalExtenderProvider schnittstelle, die auf dem Standard Projektuntertypaggregator implementiert wird, muss ihr Objekt für die VSHPROPID_ExtObjectCATID (__VSHPROPID2entsprechend einer gewünschtenVSConstants.VSITEMID) CATID anbieten.

  • Project.Properties: Diese Auflistung macht die konfigurationsunabhängigen Eigenschaften des Project Objekts verfügbar. Weitere Informationen zu Project-Eigenschaften finden Sie unter Properties. Ein Projektuntertyp kann Automation Extenders verwenden, um seine Eigenschaften dieser Auflistung hinzuzufügen. Die IInternalExtenderProvider schnittstelle, die auf dem Standard Projektuntertypaggregator implementiert ist, muss ihr Objekt für den VSHPROPID_BrowseObjectCATID von __VSHPROPID2 (entsprechend einem itemid Wert von VSITEMID) anbieten. Stamm) CATID.

  • Configuration.Properties: Diese Auflistung macht die konfigurationsabhängigen Eigenschaften des Projekts für eine bestimmte Konfiguration verfügbar (z. B. Debug). Weitere Informationen finden Sie unter Configuration. Ein Projektuntertyp kann Automation Extenders verwenden, um seine Eigenschaften dieser Auflistung hinzuzufügen. Die IInternalExtenderProvider schnittstelle, die auf dem Standard Projektuntertypaggregator implementiert ist, bietet ihr Objekt für die CATID VSHPROPID_CfgBrowseObjectCATID (entsprechend einem itemid Wert von VSITEMID). Stamm). Die IVsCfgBrowseObject Schnittstelle wird verwendet, um ein Konfigurationsstöberobjekt von einem anderen zu unterscheiden.

Weitere Informationen