Partilhar via


Compreender as configurações de compilação

Você precisa de configurações de compilação quando precisa criar seus projetos com configurações diferentes. Por exemplo, Debug e Release são configurações de compilação, e diferentes opções de compilador são usadas de acordo ao criá-las. Uma configuração está ativa e é indicada na barra de comandos na parte superior do IDE.

Captura de tela mostrando a configuração ativa na barra de ferramentas principal do Visual Studio.

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

Você pode criar suas próprias configurações de compilação no nível da solução e do projeto. A configuração da solução determina quais projetos são incluídos na compilação 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 aplicam a essa plataforma serão criados. A configuração do projeto determina quais configurações de compilação e opções do compilador são usadas quando você cria o projeto.

Para criar, selecionar, modificar ou excluir uma configuração, você pode usar o Configuration Manager. Para o abrir, na barra de menus, escolha Build>Configuration Manager, ou digite simplesmente Configuration na caixa de pesquisa. Você também pode usar a lista Configurações de Solução na barra de ferramentas Standard para selecionar uma configuração ou abrir o Gestor de Configuração.

Captura de ecrã da caixa de diálogo Gestor de configuração.

Observação

Se não conseguir encontrar as definições de configuração da solução na barra de ferramentas e não conseguir aceder ao doConfiguration Manager, poderá ser porque está a utilizar definições de desenvolvimento do Visual Basic. Para obter mais informações, consulte Como gerenciar configurações com as configurações do desenvolvedor do Visual Basic aplicadas.

Por padrão, as configurações Debug e Release são incluídas em projetos criados usando modelos do Visual Studio. Uma configuração Debug suporta a depuração de um aplicativo e uma configuração do Release cria uma versão do aplicativo que pode ser implantada. Para obter mais informações, consulte Como definir configurações de depuração e lançamento. Você também pode criar configurações de solução personalizadas e configurações de projeto. 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 Gestor de Configurações, em configuração de solução ativa , escolha Editar ou Novo.

Cada entrada na caixa de contextos do Project numa configuração de solução representa um projeto na solução. Para cada combinação de de configuração de solução Ative e de plataforma de soluçãoAtive , você pode definir como cada projeto é usado.

Quando você define uma nova configuração de solução e marca 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 marca 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 destinado 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 para 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 para o IDE. Por exemplo, se você estiver trabalhando em um projeto e a configuração especificar que ele será criado para um dispositivo móvel, o Toolbox exibirá apenas itens que podem ser usados em um projeto de dispositivo móvel.

Configurações do projeto

A configuração e a plataforma que um projeto visa são usadas juntas para especificar as definições de compilação e as opções do compilador a serem utilizadas quando é construído. 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 para o projeto no Gerenciador de Soluções e escolha Propriedades. Na parte superior da guia Build do designer de projeto, escolha uma configuração ativa para editar suas configurações de compilação.

Captura de tela das configurações do designer de projeto.

As constantes predefinidas para cada configuração são mostradas abaixo da caixa de texto onde você pode inserir a sua própria. Essas constantes predefinidas são definidas pelo SDK que seu projeto usa. Para ver onde essas propriedades são definidas, você pode procurar como a propriedade DefineConstants MSBuild é definida e modificada na pasta de instalação do SDK do .NET onde .props e .targets os arquivos estão localizados. Os SDKs fornecem propriedades do MSBuild que você pode definir no arquivo de projeto para desabilitar as definições predefinidas; por exemplo, consulte DisableImplicitFrameworkDefines.

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 seguintes critérios para associar as configurações de projeto existentes à nova configuração de solução. Os critérios são avaliados pela ordem apresentada.

  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 da solução, essa configuração será usada. Os nomes de configuração não são sensíveis a maiúsculas.

  2. Se o projeto tiver um nome de configuração no qual a parte de nome de configuração corresponda à nova configuração da solução, essa configuração será usada, independentemente de a parte da plataforma corresponder 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 se cria uma configuração de projeto (a partir do Configuration Manager, ao selecionar Novo no menu suspenso da coluna Configuração para esse projeto) e se marca a caixa de seleção Criar novas configurações de solução, o Visual Studio procura uma configuração de solução com o mesmo nome para compilar o projeto em cada plataforma suportada. Em alguns casos, o Visual Studio renomeia configurações de solução existentes ou define novas.

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 plataforma, uma configuração de solução cujo nome corresponda ao da nova configuração de projeto será encontrada ou adicionada. O nome padrão desta 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 suportar várias plataformas, uma configuração de solução será encontrada ou adicionada para cada plataforma suportada. O nome de cada configuração de solução inclui o nome da configuração do projeto e o nome da plataforma, e tem a forma <nome da configuração do projeto><nome da plataforma>.

Como as configurações afetam a compilação

Quando você cria uma solução usando o comando Build>Build Solution, o Visual Studio cria apenas a configuração ativa. Todos os projetos especificados nessa configuração de solução são criados, e a única configuração de projeto criada é aquela especificada na configuração da solução ativa e na plataforma de solução ativa, que é mostrada na barra de ferramentas do Visual Studio. Por exemplo, Debug e x86. Outras configurações e plataformas definidas não são construídas.

Se você quiser criar várias configurações e plataformas em uma ação, você pode usar a opção Build>Batch Build no Visual Studio. Para aceder a esta funcionalidade, prima Ctrl+Q para abrir a caixa de pesquisa e introduza Batch build. A compilação em lote não está disponível para todos os tipos de projeto. Consulte Como criar várias configurações simultaneamente.