Estender o modelo de objeto do projeto base
Um subtipo de projeto pode estender o modelo de objeto de automação do projeto base nos seguintes locais:
Project.Extender("<ProjectSubtypeName>"): Isso permite que um subtipo de projeto ofereça um objeto com métodos personalizados do Project objeto. Um subtipo de projeto pode usar extensores de automação para expor o
Project
objeto. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal deve oferecer seu objeto para oVSHPROPID_ExtObjectCATID
de (correspondente a umitemid
valor de __VSSPROPID2 VSITEMID. Raiz) CATID.ProjectItem.Extender("<ProjectSubtypeName>"): Isso permite que um subtipo de projeto ofereça um objeto com métodos personalizados de um objeto específico ProjectItem dentro do projeto. Um subtipo de projeto pode usar extensores de automação para expor esse objeto. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal precisa oferecer seu objeto para o
VSHPROPID_ExtObjectCATID
CATID de __VSHPROPID2 (correspondente a um VSConstants.VSITEMIDdesejado).Project.Properties: Esta coleção expõe as propriedades independentes de configuração do
Project
objeto. Para obter mais informações sobreProject
propriedades, consulte Properties. Um subtipo de projeto pode usar extensores de automação para adicionar suas propriedades a essa coleção. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal precisa oferecer seu objeto para oVSHPROPID_BrowseObjectCATID
de (correspondente a umitemid
valor de __VSHPROPID2 VSITEMID. Raiz) CATID.Configuration.Properties: Esta coleção expõe as propriedades dependentes da configuração do projeto para uma configuração específica (por exemplo, Depurar). Para obter mais informações, consulte Configuration. Um subtipo de projeto pode usar extensores de automação para adicionar suas propriedades a essa coleção. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal oferece seu objeto para o CATID
VSHPROPID_CfgBrowseObjectCATID
(correspondente a umitemid
valor de VSITEMID. Raiz). A IVsCfgBrowseObject interface é usada para distinguir um objeto de navegação de configuração de outro.