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 Provedor de Configuração do Projeto.

Observação

Não é possível criar ou editar arquivos de configuração de solução programaticamente. Você deve usar DTE.SolutionBuildero . 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_DisplayNameo . O ambiente chama GetCfgs, que retorna uma lista de ponteiros que você pode usar para obter os nomes de exibição das informações de IVsCfg 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.

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

Outra maneira de fornecer o ambiente e outros projetos com acesso a configurações de projeto é que os projetos forneçam uma implementação do método para retornar um ou mais objetos de IVsCfgProvider2::GetCfgs configuração. Os projetos também podem implementar IVsProjectCfg2o , que herda de IVsProjectCfg e, portanto, do , para fornecer informações específicas de IVsCfgconfiguração. IVsCfgProvider2 oferece suporte a plataformas e funcionalidade 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 Depurar ou Varejo. Isso torna o uso de get_IsReleaseOnly e get_IsDebugOnly obsoleto.

Chamando QueryInterface o objeto retornado deIVsGetCfgProvider::GetCfgProvider recuperações IVsCfgProvider2. Se IVsGetCfgProvider não for encontrado chamando QueryInterface o IVsProject3 objeto de 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 aos projetos a liberdade de agrupar saídas. Os métodos de e IVsProjectCfg2 podem ser usados para implementar IVsBuildableProjectCfg para gerenciar o processo de IVsProjectCfg 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 que ele suporta, mesmo que o número de saídas contidas em um grupo pode variar de configuração para configuração. Os grupos também devem ter as mesmas informações de identificador (nome canônico, nome para exibição e informações do grupo) da configuração para a 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 IVsDebuggableProjectCfgo . 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