Noções sobre configurações de build

Você precisa de configurações de build quando precisa compilar seus projetos com configurações diferentes. Por exemplo, Depurar e Versão são configurações de build, e diferentes opções de compilador são usadas adequadamente ao compilá-las. Uma configuração está ativa e é indicada na barra de comandos na parte superior do IDE.

Screenshot showing the active configuration in the main Visual Studio toolbar.

Screenshot showing the active configuration in the main Visual Studio toolbar.

Observação

Este tópico aplica-se ao Visual Studio no Windows. Para o Visual Studio para Mac, confira Configurações de build no Visual Studio para Mac.

A configuração e o controle de plataforma em que os arquivos de saída criados são armazenados. Normalmente, quando o Visual Studio compila seu projeto, a saída é colocada em uma subpasta de projeto chamada com a configuração ativa (por exemplo, bin/Debug/x86), mas você pode alterar isso.

Você pode criar suas próprias configurações de build no nível da solução e do projeto. A configuração da solução determina quais projetos são incluídos no build quando essa configuração está ativa. Somente os projetos especificados na configuração da solução ativa serão criados. Se várias plataformas de destino forem selecionadas no Configuration Manager, todos os projetos que se aplicarem a essa plataforma serão criados. A configuração do projeto determina quais configurações de build e opções do compilador são usadas quando você compila o projeto.

Para criar, selecionar, modificar ou excluir uma configuração, é possível usar o Configuration Manager. Para abri-lo, na barra de menus, escolha Build>Configuration Manager ou apenas digite Configuração na caixa de pesquisa. Também é possível usar a lista Configurações de Solução na barra de ferramentas Padrão para selecionar uma configuração ou para abrir o Configuration Manager.

Screenshot of Configuration Manager dialog.

Observação

Se você não conseguir encontrar as configurações de solução na barra de ferramentas e não puder acessar o Configuration Manager, pode ser porque você está usando as configurações de desenvolvimento do Visual Basic. Para obter mais informações, consulte Como gerenciar configurações com as configurações para desenvolvedores do Visual Basic aplicadas.

Por padrão, as configurações de Depurar e Versão são incluídas nos projetos criados usando modelos do Visual Studio. Uma configuração de Depurar dá suporte à depuração de um aplicativo, e uma configuração de Versão cria uma versão do aplicativo que pode ser implantada. Para saber mais, consulte Como definir configurações de depuração e versão. Também é possível criar configurações de solução e de projeto personalizadas. Para obter mais informações, consulte Como criar e editar configurações.

Configurações da solução

Uma configuração de solução especifica como os projetos na solução devem ser criados e implantados. Para modificar uma configuração de solução ou definir uma nova, no Configuration Manager, em Configuração da solução ativa, escolha Editar ou Novo.

Cada entrada na caixa Contextos do Projeto em uma configuração de solução representa um projeto na solução. Para cada combinação de Configuração da solução ativa e Plataforma da solução ativa, é possível definir como cada projeto é usado.

Quando você define uma nova configuração de solução e seleciona a caixa de seleção Criar novas configurações de projeto, o Visual Studio cria uma nova configuração de projeto em todos os projetos. Da mesma forma, quando você define uma nova plataforma de solução e seleciona a caixa de seleção Criar novas plataformas de projeto, o Visual Studio cria a nova opção de plataforma em todos os projetos. Além disso, se você adicionar um projeto direcionado a uma nova plataforma, o Visual Studio adicionará essa plataforma à lista de plataformas de solução e disponibilizará a plataforma como uma opção em todos os projetos. Você pode modificar as configurações de cada projeto, para casos em que as plataformas não são necessárias ou suportadas por alguns projetos.

A configuração da solução ativa também fornece contexto ao IDE. Por exemplo, se você estiver trabalhando em um projeto e a configuração especificar que ele será criado para um dispositivo móvel, a Caixa de Ferramentas exibirá apenas os itens que podem ser usados em um projeto de dispositivo móvel.

Configurações de projeto

A configuração e a plataforma que um projeto define como destino serão usadas conjuntamente para especificar as propriedades a serem usadas quando ele for criado. Um projeto pode ter configurações diferentes para cada combinação de configuração e plataforma. Para modificar as propriedades de um projeto, abra o menu de atalho do projeto em Gerenciador de Soluções e escolha Propriedades. Na parte superior da guia Compilar do designer de projeto, escolha uma configuração ativa para editar as configurações de build correspondentes.

Screenshot of project designer configurations.

Screenshot of project designer configurations.

Como o Visual Studio associa configurações de projeto a configurações de solução

Quando você define uma nova configuração de solução e não copia as configurações de uma existente, o Visual Studio usa os critérios a seguir para associar as configurações de projeto existentes à nova configuração de solução. Os critérios são avaliados na ordem mostrada.

  1. Se um projeto tiver um nome de configuração (<nome de configuração><nome de plataforma>) que corresponda ao nome da nova configuração de solução, essa configuração será usada. Nomes de configuração não diferenciam maiúsculas de minúsculas.

  2. Se o projeto tiver um nome de configuração no qual a parte configuração-nome corresponda à nova configuração de solução, essa configuração será usada, independentemente se a parte da plataforma for correspondente ou não.

  3. Se ainda não houver correspondência, a primeira configuração listada no projeto será usada.

Como o Visual Studio associa configurações de solução a novas configurações de projeto

Quando você cria uma configuração de projeto (no Configuration Manager, escolhendo Novo no menu suspenso na coluna Configuração desse projeto) e marca a caixa de seleção Criar novas configurações de solução o Visual Studio procura uma configuração de solução com nome semelhante para compilar o projeto em cada plataforma à que ele dá suporte. Em alguns casos, o Visual Studio renomeia as configurações de solução existentes ou define novas configurações.

O Visual Studio usa os seguintes critérios para associar configurações de solução a configurações de projeto:

  • Se uma configuração de projeto não especificar uma plataforma ou especificar apenas uma delas, então a configuração de solução cujo nome corresponder ao da nova configuração de projeto será localizada ou adicionada. O nome padrão dessa configuração de solução não inclui um nome de plataforma; ele assume a forma <nome de configuração do projeto>.

  • Se um projeto der suporte a várias plataformas, uma configuração de solução será localizada ou adicionada para cada plataforma com suporte. O nome de cada configuração de solução inclui tanto o nome de configuração do projeto quanto o nome da plataforma e tem a forma <nome de configuração do projeto><nome da plataforma>.

Como as configurações afetam o build

Quando você compila uma solução usando o comando Compilar>Compilar Solução, o Visual Studio compila apenas a configuração ativa. Todos os projetos especificados nessa configuração de solução são compilados e a única configuração de projeto compilada é aquela especificada na configuração da solução ativa e na plataforma de solução ativa, que é mostrada na barra de ferramentas no Visual Studio. Por exemplo, Depurar e x86. Outras configurações e plataformas definidas não são compiladas.

Se você quiser criar várias configurações e plataformas em uma ação, poderá usar a opção Compilar>Build em Lote no Visual Studio. Para acessar esse recurso, pressione Ctrl+Q para abrir a caixa de pesquisa e insira Batch build. O build em lote não está disponível para todos os tipos de projeto. Confira Como compilar várias configurações simultaneamente.