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.

Visual Studio Project Configuration 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 objeto com o IVsCfgProviderEventsHelper objeto para permitir que você recupere um IVsProjectCfg2 objeto com base no IVsCfgProvider2 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 e, portanto, do , para fornecer informações específicas de IVsProjectCfgIVsCfgconfiguraçã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 o objeto de projeto, você poderá acessar o objeto do provedor de configuração chamando QueryInterfaceQueryInterface o objeto do navegador raiz da hierarquia para o objeto retornado para , ou por meio de um ponteiro para o IVsProject3 provedor de configuração retornado para IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)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 podem ser usados para implementar IVsBuildableProjectCfg para gerenciar o processo de compilação e IVsOutputGroupIVsProjectCfg2 ponteiros para os grupos de saída de IVsProjectCfg 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 são usados em conjunto com páginas de propriedades para recuperar e IDispatch exibir informações dependentes da configuração para o usuário. Para obter mais informações, consulte Páginas de propriedades.

Confira também