扩展基本项目的对象模型

项目子类型可以在以下位置扩展基本项目的自动化对象模型:

  • Project.Extender(“<ProjectSubtypeName>”):这允许项目子类型提供一个具有对象中自定义方法 Project 的对象。 项目子类型可以使用自动化扩展程序来公开 Project 对象。 IInternalExtenderProvider在主项目子类型聚合器上实现的接口应为其对象VSHPROPID_ExtObjectCATID提供其对象__VSSPROPID2(对应于 itemid VSITEMID 的值)。根) CATID。

  • ProjectItem.Extender(“<ProjectSubtypeName>”):这允许项目子类型提供项目中特定 ProjectItem 对象中的自定义方法的对象。 项目子类型可以使用自动化扩展程序来公开此对象。 IInternalExtenderProvider在主项目子类型聚合器上实现的接口需要为 FROM __VSHPROPID2 (对应于所需VSConstants.VSITEMID)CATID 提供其对象VSHPROPID_ExtObjectCATID

  • Project.Properties:此集合公开对象与配置无关的属性 Project 。 有关 Project 属性的详细信息,请参阅 Properties。 项目子类型可以使用自动化扩展程序将其属性添加到此集合。 IInternalExtenderProvider在主项目子类型聚合器上实现的接口需要为其对象提供其对象VSHPROPID_BrowseObjectCATID __VSHPROPID2 (对应于 itemid VSITEMID 的值)。根) CATID。

  • Configuration.Properties:此集合公开特定配置的项目的配置依赖属性(例如调试)。 有关详细信息,请参阅 Configuration。 项目子类型可以使用自动化扩展程序将其属性添加到此集合。 在 IInternalExtenderProvider 主项目子类型聚合器上实现的接口为 CATID VSHPROPID_CfgBrowseObjectCATID 提供其对象(对应于 itemid VSITEMID 的值 )。根)。 该 IVsCfgBrowseObject 接口用于区分一个配置浏览对象与另一个配置浏览对象。

另请参阅