Noções sobre configurações de buildUnderstanding build configurations

Configurações de build do projetoProject build configurations

Os projetos costumam ter várias configurações e alternar entre elas permite produzir resultados diferentes no tempo de build.Projects tend to have multiple configurations and switching between them allows for different outputs at build time. Por exemplo, uma Configuração de depuração gerará a saída de símbolos de depuração, permitindo que o depurador resolva nomes de funções, parâmetros ou variáveis do rastreamento de pilha do aplicativo com falha.For example, a Debug configuration will output debugging symbols, allowing the debugger to resolve function names, parameters, or variables from a crashed application's stack trace. Embora essas informações adicionais sejam úteis durante o desenvolvimento, elas levarão a um tamanho de arquivo inflado e não é ideal para distribuição.While this additional information is useful during development, it leads to an inflated file size and isn't ideal for distribution.

Cada plataforma tem configurações específicas para seu build.Each platform has specific configurations for its build.

Configurações da soluçãoSolution configurations

Semelhante às configurações de projeto, as configurações da solução são usadas para criar configurações personalizadas para um projeto inteiro.Akin to project configurations, solution configurations are used to create custom configurations for an entire project. Usando a guia Mapeamentos de Configuração no item Build > Configurações , você pode atribuir uma configuração de destino para cada item da solução, conforme ilustrado na imagem abaixo:By using the Configuration Mappings tab under the Build > Configurations item, you can assign a target configuration for each solution item, as illustrated in the following image:

Opções de mapeamento de configuração

Para saber mais sobre configurações, veja o vídeo do Configuration Manager de James Montemagno.For more information about configurations, see the Configuration Manager video by James Montemagno.

Configuração de execuçãoRun configuration

Nas versões anteriores do Xamarin Studio, era possível selecionar a opção para configurar um projeto como um Projeto de Inicialização, que é o projeto que é executado/depurado usando o comando run/debug global.In previous versions of Xamarin Studio, you could select the option to set a project as a Startup Project, which is the project that is run/debugged when using the global run/debug command. Isso era indicado por uma face de tipos em negrito do nome do projeto no painel do projeto.This was indicated by a bold typeface for the project's name in the project pad.

No Visual Studio para Mac, em vez de configurar um projeto de inicialização, é possível definir uma configuração de execução.In Visual Studio for Mac, instead of setting a startup project, you can set a run configuration. As configurações de execução são apresentadas em uma lista suspensa na barra de ferramentas, ao lado de seletor de configuração de build, conforme ilustrado abaixo:The run configurations are presented in a drop-down list in the toolbar, next to the build configuration selector as illustrated below:

Lista suspensa Configuração de execução

Uma configuração de execução é um conjunto de opções com um nome e várias configurações que são definidas em um projeto para finalidades diferentes.A run configuration is a set of execution options with a name and several configurations that are defined in a project for different purposes. Configurações de execução são definidas no nível de projeto e um padrão será criado automaticamente para cada projeto executável, embora seja possível adicionar tantos quantos forem necessários.Run configurations are defined at the project level, and a default will be created automatically for each executable project, although it is possible to add as many as needed. Certos tipos de projeto geram configurações de execução adicionais automaticamente.Certain project types automatically generate additional run configurations. Por exemplo, os projetos watchOS podem gerar  configurações de Visão geral e de Notificação.For example, watchOS projects may generate  Glance and Notification configurations.

As configurações podem ser compartilhadas com outros desenvolvedores (nesse caso elas serão armazenadas no arquivo .csproj) ou mantidas localmente (nesse caso elas serão armazenados em um arquivo .user).Configurations can be shared with other developers (in which case the configurations will be stored in the .csproj file) or kept locally (in which case they will be stored in a .user file).

Configurações de execução do AndroidAndroid run configurations

Configurações de execução em projetos Android permitem que você especifique quais atividade, serviços ou receptores de difusão iniciar ao executar ou depurar o projeto.Run configurations for Android projects allow you to specify which activity, service, or broadcast receiver to launch when running or debugging the project. Você pode passar dados extras intencionais e definir sinalizadores de intenção para poder testar seus componentes em diferentes condições de inicialização.You can pass intent extra data and set intent flags to be able to test your components under different launch conditions.

Atividades além de MainLauncher precisarão ter Exported=true adicionado ao atributo Atividade para a depuração em um dispositivo físico ou ter filtros de Intenção definidos.Activities other than the MainLauncher will need to have Exported=true added to the Activity attribute for debugging on a physical device, or have Intent filters defined.

Exemplos de dados que podem ser incluídos em configurações de execuçãoExamples of data that might be included in run configurations

A lista a seguir fornece alguns exemplos de dados que podem ser incluídos em configurações de execução:The following list provides some examples of data that could be included in run configurations:

  • Projeto .NET regularRegular .NET project
    • Aplicativo de inicialização alternativoAlternative startup app
    • Argumentos iniciaisStart arguments
    • Diretório de trabalhoWorking directory
    • Variáveis de ambienteEnvironment variables
    • Opções de tempo de execução mono (deve ser usado somente quando em execução no Mono)Mono runtime options (to be used only when running on Mono)
  • Projeto do AndroidAndroid project
    • Ponto de entrada (atividade, serviço, receptor)Entry point (activity, service, receiver)
    • Dados e os argumentos de intençãoIntent arguments and data
  • Projeto do iOSiOS project
    • Modo (Normal, Fetch em segundo plano)Mode (Normal, Background Fetch)
  • Projeto de extensão de iOSiOS extension project
    • Aplicativo de inicialização: padrão ou personalizadaStartup app: default or custom
  • Projeto do WatchKitWatchKit project
    • Modo (Visão rápida, Notificação)Mode (Glance, Notification)
    • Conteúdo da notificaçãoNotification payload

Consulte tambémSee also