Descripción de las configuraciones de compilaciónUnderstanding build configurations

Configuraciones de compilación del proyectoProject build configurations

Los proyectos pueden tener varias configuraciones; cambiar entre ellas permite diferentes salidas en tiempo de compilación.Projects can have multiple configurations and switching between them allows for different outputs at build time. Por ejemplo, cuando se usa una configuración de depuración, la salida incluye símbolos de depuración, lo que permite al depurador resolver nombres de función, parámetros o variables del seguimiento de la pila de una aplicación bloqueada.For example, when using a Debug configuration, the output will include debugging symbols, which allows the debugger to resolve function names, parameters, or variables from a crashed application's stack trace. Aunque el empleo de una configuración de depuración se traduce en un tamaño de archivo inflado, lo que no sería ideal para una aplicación diseñada para su distribución.Using a Debug configuration, however, leads to an inflated file size and so would not be ideal for an application intended for distribution.

Cada plataforma tiene configuraciones específicas para su compilación.Each platform will have specific configurations for its build. El desarrollo de Xamarin.Android siempre tiene solo una configuración de lanzamiento o depuración.Xamarin.Android development will always have only a Release or Debug configuration. Xamarin.iOS tiene más configuraciones.Xamarin.iOS has more configurations. Los proyectos de iOS más recientes solo tienen configuraciones de depuración o lanzamiento, pero pueden configurarse para un dispositivo o cualquier simulador instalado.Newer iOS projects will have only debug or release configurations, but these can be set for either a device or any installed simulator.

Configuraciones de soluciónSolution configurations

Del mismo modo que las configuraciones de proyecto, las configuraciones de solución se usan para crear configuraciones personalizadas para un proyecto completo.Akin to project configurations, solution configurations are used to create custom configurations for an entire project. Con la pestaña Asignaciones de configuración del elemento Compilar > Configuraciones, puede asignar una configuración de destino para cada elemento de la solución, como se muestra a continuación:By using the Configuration Mappings tab under the Build > Configurations item, you can assign a target configuration for each solution item, as illustrated below:

Opciones de asignación de configuración

Para más información, vea el vídeo Configuration Manager (Administrador de configuración) de James Montemagno.For more information, refer to the Configuration Manager video by James Montemagno.

Configuración de ejecuciónRun configuration

En versiones anteriores de Xamarin Studio se podía seleccionar la opción para establecer un proyecto como proyecto de inicio, que es el que se ejecuta o depura al usar el comando Ejecutar o Depurar 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. Esto se indicaba mediante un tipo de letra negrita para el nombre del proyecto en el panel de este.This was indicated by a bold typeface for the project's name in the project pad.

En Visual Studio para Mac, en lugar de establecer un proyecto de inicio, se puede establecer una configuración de ejecución.In Visual Studio for Mac, instead of setting a startup project, you can set a run configuration. Las configuraciones de ejecución se presentan en una lista desplegable de la barra de herramientas, junto al selector de la configuración de compilación, como se muestra a continuación:The run configurations are presented in a drop-down list in the toolbar, next to the build configuration selector as illustrated below:

Desplegable de configuración de ejecución

Una configuración de ejecución es un conjunto de opciones de ejecución con un nombre y varias configuraciones que se definen en un proyecto para diferentes fines.A run configuration is a set of execution options with a name and several configurations that are defined in a project for different purposes. Las configuraciones de ejecución se definen en el nivel de proyecto, y para cada proyecto ejecutable se crea automáticamente una predeterminada, aunque es posible agregar tantas como sea necesario.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. Determinados tipos de proyecto generan automáticamente configuraciones de ejecución adicionales.Certain project types automatically generate additional run configurations. Por ejemplo, los proyectos de watchOS pueden generar configuraciones de vista rápida y notificación.For example, watchOS projects may generate Glance and Notification configurations.

Las configuraciones se pueden compartir con otros desarrolladores (en cuyo caso se almacenarán en el archivo .csproj) o conservarse localmente (en cuyo caso se almacenarán en un archivo .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).

Configuraciones de ejecución de AndroidAndroid run configurations

Las configuraciones de ejecución para proyectos de Android permiten especificar qué actividad, servicio o receptor de difusión iniciar al ejecutar o depurar el proyecto.Run configurations for Android projects allow you to specify which activity, service, or broadcast receiver to launch when running or debugging the project. Puede pasar datos adicionales de intención y establecer marcas de intención para poder probar los componentes con diferentes condiciones de inicio.You can pass intent extra data and set intent flags to be able to test your components under different launch conditions.

Aquellas actividades distintas a MainLauncher deberán tener Exported=true agregado al atributo Actividad para la depuración en un dispositivo físico o tener filtros de intención 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.

Ejemplos de datos que se podrían incluir en configuraciones de ejecuciónExamples of data that might be included in run configurations

En la siguiente lista, se proporcionan algunos ejemplos de datos que se podrían incluir en configuraciones de ejecución:The list below provides some examples of data that could be included in run configurations:

  • Proyecto de .NET normalRegular .NET project
    • Aplicación de inicio alternativaAlternative startup app
    • Argumentos de inicioStart arguments
    • Directorio de trabajoWorking directory
    • Variables de entornoEnvironment variables
    • Opciones del entorno de ejecución Mono (para usarse solo al ejecutar en Mono)Mono runtime options (to be used only when running on Mono)
  • Proyecto de AndroidAndroid project
    • Punto de entrada (actividad, servicio, receptor)Entry point (activity, service, receiver)
    • Datos y argumentos de intenciónIntent arguments and data
  • Proyecto de iOSiOS project
    • Modo (Normal, Recuperación de cambios)Mode (Normal, Background Fetch)
  • Proyecto de extensión de iOSiOS extension project
    • Aplicación de inicio: predeterminada o personalizadaStartup app: default or custom
  • Proyecto de WatchKitWatchKit project
    • Modo (Vista rápida, Notificación)Mode (Glance, Notification)
    • Carga de notificacionesNotification payload