Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os projetos no Visual Studio podem dar suporte a várias configurações que podem ser criadas, depuradas, executadas e/ou implantadas. Uma configuração é um tipo de compilação descrito por um conjunto nomeado de propriedades, normalmente opções de compilador e locais de arquivo. Por padrão, novas soluções contêm duas configurações, Debug e Release. Essas configurações podem ser aplicadas usando suas configurações padrão ou modificadas para atender aos requisitos específicos de solução e/ou projeto. Alguns pacotes podem ser criados de duas maneiras: como um editor ActiveX ou como um componente em lugar. No entanto, os projetos não precisam dar suporte a várias configurações. Se houver apenas uma configuração disponível, essa configuração será mapeada para todas as configurações da solução.
As configurações normalmente consistem em duas partes: o nome da configuração (como Depuração ou Versão) e as configurações da plataforma. O nome da plataforma de uma configuração identifica o ambiente destinado à configuração, como um conjunto de API ou uma plataforma do sistema operacional. Os usuários do Visual Studio não podem criar uma plataforma; eles devem escolher entre as seleções que um vspackage do projeto permite. Quando um usuário instala um VSPackage, a plataforma de entrega criada durante o desenvolvimento do pacote pode exibir qualquer nome de plataforma desejado com base em qualquer critério definido pelo criador do pacote. Em seguida, o usuário pode selecionar na lista de plataformas disponibilizadas através do VSPackage quando as páginas de propriedades são instanciadas.
Os nomes de plataforma são opcionais, pois nem todos os projetos dão suporte ao conceito de plataformas. Quando uma configuração não tem um nome de plataforma, a cadeia de caracteres N/A é exibida na interface do usuário.
Cada solução tem seu próprio conjunto de configurações, apenas uma das quais pode estar ativa por vez. Uma configuração de solução é um conjunto de não mais do que uma configuração de cada projeto. A estipulação "não mais do que" deve-se à opção de excluir um projeto de uma configuração de solução. Os usuários podem criar suas próprias configurações de solução personalizadas.
A tabela a seguir ilustra a configuração de configurações típicas para um projeto. As linhas são rotuladas com nomes de configuração e as colunas com nomes de plataforma.
| Nome da configuração | Plataforma: Win32 | Plataforma: Win64 |
|---|---|---|
| Depurar | <Depurar configurações do Win32> | <Depurar configurações do Win64> |
| Lançamento | <Liberar configurações do Win32> | <Liberar configurações do Win64> |
| MyConfig | N/A | <Configurações do MyConfig Win64> |
Observação
Você não pode criar uma configuração de solução MyConfig que exclua uma plataforma Win32, a menos que o projeto que você está direcionando não dê suporte ao Win32.
Alterar a configuração ativa de uma solução seleciona o conjunto de configurações de projeto criadas, executadas, depuradas ou implantadas nessa solução. Por exemplo, se você alterar a configuração da solução ativa de Versão para Depuração, todos os projetos nessa solução serão criados automaticamente com a configuração dos projetos indicada na configuração de depuração da solução. As configurações dos projetos também são chamadas Debug, a menos que o usuário tenha feito alterações manuais no Gerenciador de Configuração do ambiente.
As propriedades de configuração da solução armazenadas para cada projeto incluem o nome do projeto, o nome da configuração do projeto, marcadores para indicar se devem ser compilados ou implantados e o nome da plataforma. Para obter mais informações, consulte a configuração da solução.
O usuário pode exibir e definir parâmetros de configuração de solução selecionando a solução na hierarquia (Gerenciador de Soluções) e abrindo as páginas de propriedades. Da mesma forma, você pode exibir e definir parâmetros de configuração de projeto selecionando um projeto no Gerenciador de Soluções e abrindo as páginas de propriedades para esse projeto.
O usuário também pode criar um projeto usando as configurações de lançamento e todos os demais com configurações de depuração, se necessário. Para obter mais informações, consulte a configuração do Project para compilação.
O diagrama a seguir mostra como as interfaces que dão suporte a configurações de solução e projeto são implementadas:
Interfaces de configuração
Algumas anotações relacionadas ao diagrama anterior:
IDispatché marcado como opcional no objeto de configuração. Especificamente, é opcional ter as interfaces de configuração no objeto browse.IVsDebuggableProjectCfgé marcado como opcional no objeto de configuração, mas é necessário para suporte de depuração.IVsProjectCfg2é marcado como opcional no objeto de configuração, mas é necessário para o suporte ao agrupamento de saída.O objeto Config Provider é marcado como um objeto opcional, mas a opção é onde implementá-lo. Você pode implementar o objeto no objeto do projeto ou em um objeto separado.
IVsCfgProvider2é necessário para o suporte à plataforma e edição de configuração.IVsCfgProviderserá suficiente se você não implementar essa funcionalidade.Alguns desses objetos mostrados no diagrama como objetos separados podem ser combinados na mesma classe quando prático, com base em seus requisitos de design específicos. Em outros tópicos desta seção, no entanto, os objetos e interfaces associados a esses objetos serão discutidos de acordo com o cenário apresentado no diagrama.
Determinados objetos são implementados separadamente. Por exemplo, o projeto e a criação da solução ocorrem em threads separados e o objeto para gerenciar a compilação reside separadamente do objeto que descreve a configuração do build.
Para obter mais informações sobre as interfaces de objeto de configuração e as interfaces de objeto do provedor de configuração no diagrama anterior, consulte o objeto de configuração do Project. Além disso, a configuração do projeto para compilação fornece mais informações sobre o construtor de configuração e as interfaces dos objetos de dependência de build, e a configuração do projeto para gerenciamento de implantação descreve com mais detalhes as interfaces anexadas ao implantador de configuração e aos objetos de dependência de implantação. Por fim, a configuração do Project para saída descreve o grupo de saída e as interfaces de objeto de saída e o uso de páginas de propriedades para exibir e definir propriedades dependentes de configuração.