Расширение объектной модели базового проекта
Подтип проекта может расширить объектную модель автоматизации базового проекта в следующих местах:
Project.Extender("<ProjectSubtypeName>"): это позволяет подтипу проекта предложить объект с пользовательскими методами Project из объекта. Подтип проекта может использовать расширения службы автоматизации для предоставления
Project
объекта. Интерфейс, IInternalExtenderProvider реализованный в агрегате подтипа основного проекта, должен предложить объект дляVSHPROPID_ExtObjectCATID
объекта from __VSSPROPID2 (соответствующегоitemid
значению VSITEMID. Root) CATID.ProjectItem.Extender("<ProjectSubtypeName>"): это позволяет подтипу проекта предложить объект с настраиваемыми методами из определенного ProjectItem объекта в проекте. Подтип проекта может использовать расширения автоматизации для предоставления этого объекта. Интерфейс, IInternalExtenderProvider реализованный в агрегате основного типа проекта, должен предложить объект для
VSHPROPID_ExtObjectCATID
объекта ( __VSHPROPID2 соответствующего требуемому VSConstants.VSITEMID) CATID.Project.Properties: эта коллекция предоставляет свойства, независимые от конфигурации
Project
объекта. Дополнительные сведения о свойствахProject
см. в разделе Properties. Подтип проекта может использовать расширения службы автоматизации для добавления свойств в эту коллекцию. Интерфейс IInternalExtenderProvider , реализованный в агрегате основного типа проекта, должен предложить объект дляVSHPROPID_BrowseObjectCATID
объекта from __VSHPROPID2 (соответствующегоitemid
значению VSITEMID. Root) CATID.Configuration.Properties: эта коллекция предоставляет свойства, зависящие от конфигурации, для конкретной конфигурации (например, отладка). Дополнительные сведения см. в разделе Configuration. Подтип проекта может использовать расширения службы автоматизации для добавления свойств в эту коллекцию. Интерфейс, IInternalExtenderProvider реализованный в агрегате основного типа проекта, предлагает объект для CATID
VSHPROPID_CfgBrowseObjectCATID
(соответствующееitemid
значению VSITEMID). Root). Интерфейс IVsCfgBrowseObject используется для различения одного объекта обзора конфигурации от другого.