Compartilhar via


Objeto de configuração de projeto

O objeto de configuração do projeto gerencia a exibição de informações de configuração para a interface do usuário.

Configuração do projeto do Visual Studio

Páginas de propriedades de configuração do projeto

O Provedor de Configuração do Projeto gerencia as configurações do projeto. O ambiente e outros pacotes, para obter acesso e recuperar informações sobre as configurações de um projeto, chame as interfaces anexadas ao objeto Project Configuration Provider.

Observação

Você não pode criar ou editar arquivos de configuração de solução programaticamente. Você deve usar DTE.SolutionBuilder. Consulte Configuração da solução para obter mais informações.

Para publicar um nome de exibição a ser usado na interface do usuário de configuração, seu projeto deve implementar get_DisplayName. O ambiente chama GetCfgs, que retorna uma lista de ponteiros que você pode usar para obter os nomes de IVsCfg exibição das informações de Configuração e Plataforma a serem listadas na interface do usuário do ambiente. A configuração ativa e a plataforma são determinadas pela configuração do projeto armazenada na configuração da solução ativa. O FindActiveProjectCfg método pode ser usado para recuperar a configuração ativa do projeto.

Opcionalmente, o IVsProjectCfgProvider objeto pode ser implementado no IVsCfgProvider2 objeto com o IVsCfgProviderEventsHelper objeto para permitir que você recupere um IVsProjectCfg2 objeto com base no nome de configuração do projeto canônico.

Outra maneira de fornecer ao ambiente e a outros projetos acesso às configurações do projeto é que os projetos forneçam uma implementação do IVsCfgProvider2::GetCfgs método para retornar um ou mais objetos de configuração. Os projetos também podem implementar IVsProjectCfg2o , que herda de IVsProjectCfg e, portanto, de IVsCfg, para fornecer informações específicas de configuração. IVsCfgProvider2 Suporta plataformas e funcionalidades para adicionar, excluir e renomear configurações de projeto.

Observação

Como o Visual Studio não está mais limitado a dois tipos de configuração, o código que processa configurações não deve ser escrito com suposições sobre o número de configurações, nem deve ser escrito com a suposição de que um projeto que tem apenas uma configuração é necessariamente Depuração ou Varejo. Isso torna o uso de get_IsReleaseOnly e get_IsDebugOnly obsoleto.

Chamar QueryInterface o objeto retornado de IVsGetCfgProvider::GetCfgProvider recupera IVsCfgProvider2arquivos . Se IVsGetCfgProvider não for encontrado chamando QueryInterface o objeto de IVsProject3 projeto, você poderá acessar o objeto do provedor de configuração chamando QueryInterface o objeto do navegador raiz da hierarquia para o objeto retornado para IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject), ou por meio de um ponteiro para o provedor de configuração retornado para IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider).

IVsProjectCfg2 fornece principalmente acesso a objetos de gerenciamento de compilação, depuração e implantação e permite que os projetos tenham a liberdade de agrupar saídas. Os métodos de IVsProjectCfg e IVsProjectCfg2 podem ser usados para implementar IVsBuildableProjectCfg para gerenciar o processo de compilação e IVsOutputGroup ponteiros para os grupos de saída de uma configuração.

O projeto deve retornar o mesmo número de grupos para cada configuração compatível, mesmo que o número de saídas contidas em um grupo possa variar de configuração para configuração. Os grupos também devem ter as mesmas informações de identificador (nome canônico, nome de exibição e informações de grupo) de configuração para configuração em um projeto. Para obter mais informações, consulte Configuração do projeto para saída.

Para habilitar a depuração, suas configurações devem implementar IVsDebuggableProjectCfg. IVsDebuggableProjectCfg é uma interface opcional implementada por projetos para permitir que o depurador inicie uma configuração e é implementada no objeto de configuração com IVsCfg e IVsProjectCfg. O ambiente o chama quando o usuário opta por iniciar o depurador pressionando F5.

ISpecifyPropertyPages e IDispatch são usados em conjunto com páginas de propriedades para recuperar e exibir informações dependentes da configuração para o usuário. Para obter mais informações, consulte Páginas de propriedades.

Confira também