Compartir vía


Información general de opciones de configuración

Los proyectos de Visual Studio pueden admitir varias configuraciones que se pueden compilar, depurar, ejecutar o implementar. Una configuración es un tipo de compilación descrito con un conjunto con nombre de propiedades, normalmente modificadores del compilador y ubicaciones de archivos. De forma predeterminada, las nuevas soluciones contienen dos configuraciones, Depuración y Lanzamiento. Estas configuraciones se pueden aplicar mediante su configuración predeterminada o modificarse para cumplir los requisitos específicos de la solución o del proyecto. Algunos paquetes se pueden compilar de dos maneras: como un editor activeX o como un componente local. Sin embargo, los proyectos no necesitan admitir varias configuraciones. Si solo hay una configuración disponible, esa configuración se asigna a todas las configuraciones de la solución.

Las configuraciones normalmente constan de dos partes: el nombre de la configuración (como Depuración o Lanzamineto) y la configuración de la plataforma. El nombre de la plataforma de una configuración identifica el entorno que tiene como destino la configuración, como un conjunto de API o una plataforma de sistema operativo. Los usuarios de Visual Studio no pueden crear una plataforma; deben elegir entre las opciones que permite el VSPackage de un proyecto. Cuando un usuario instala un VSPackage, la plataforma de entrega creada durante el desarrollo del paquete puede mostrar cualquier nombre de plataforma deseado en función de los criterios establecidos por el creador del paquete. A continuación, el usuario puede seleccionar en la lista de plataformas disponibles a través del VSPackage cuándo se crean instancias de las páginas de propiedades.

Los nombres de plataforma son opcionales, ya que no todos los proyectos admiten el concepto de plataformas. Cuando una configuración carece de un nombre de plataforma, la cadena N/D se muestra en la interfaz de usuario.

Cada solución tiene su propio conjunto de configuraciones, solo una de los cuales puede estar activa en un momento dado. Una configuración de solución es un conjunto de no más de una configuración de cada proyecto. La indicación "no más de" se debe a la opción de excluir un proyecto de una configuración de solución. Los usuarios pueden crear sus propias configuraciones de solución personalizadas.

En la tabla siguiente se muestran las configuraciones típicas de un proyecto. Las filas se etiquetan con nombres de configuración y las columnas con nombres de plataforma.

Nombre de la configuración Plataforma: Win32 Plataforma: Win64
Depuración <Configuración de depuración de Win32> <Configuración de depuración de Win64>
Lanzamiento <Configuración de lanzamiento de Win32> <Configuración de lanzamiento de Win64>
MyConfig N/D <Configuración de MyConfig de Win64>

Nota:

No se puede crear una configuración de solución MyConfig que excluya una plataforma Win32 a menos que el proyecto que tenga como destino no sea compatible con Win32.

Al cambiar la configuración activa de una solución, se selecciona el conjunto de configuraciones de proyecto compiladas, ejecutadas, depuradas o implementadas en esa solución. Por ejemplo, si cambia la configuración de la solución activa de Lanzamiento a Depuración, todos los proyectos de esa solución se compilan automáticamente con la configuración de los proyectos indicada en la configuración de depuración de la solución. Las configuraciones de los proyectos también se denominan Depuración a menos que el usuario haya realizado cambios manuales en el Administrador de configuración del entorno.

Las propiedades de configuración de la solución almacenadas para cada proyecto incluyen el nombre del proyecto, el nombre de configuración del proyecto, las marcas para indicar si se va a compilar o no, si se va a implementar y el nombre de la plataforma. Para obtener más información, consulte Configuración de la solución.

El usuario puede ver y establecer parámetros de configuración de la solución seleccionando la solución en la jerarquía (Explorador de soluciones) y abriendo las páginas de propiedades. De forma similar, puede ver y establecer parámetros de configuración del proyecto seleccionando un proyecto en el Explorador de soluciones y abriendo las páginas de propiedades de ese proyecto.

El usuario también puede compilar un proyecto mediante opciones de configuración de la versión y el resto con opciones de configuración de depuración, si es necesario. Para obtener más información, consulte Configuración del proyecto para generación.

En el diagrama siguiente se muestra cómo se implementan las interfaces que admiten configuraciones de solución y proyecto:

Gráfico de interfaces de configuración

Interfaces de configuración

Algunas notas relacionadas con el diagrama anterior:

  • IDispatch está marcado como opcional en el objeto de configuración. En concreto, es opcional tener las interfaces de configuración en el objeto de navegación.

  • IVsDebuggableProjectCfg está marcado como opcional en el objeto de configuración, pero es necesario para la compatibilidad con la depuración.

  • IVsProjectCfg2 está marcado como opcional en el objeto de configuración, pero es necesario para la compatibilidad con la agrupación de salida.

  • El objeto Proveedor de configuración está marcado como objeto opcional, pero se tiene la opción de dónde implementarlo. Puede implementar el objeto en el objeto del proyecto o en un objeto independiente.

  • IVsCfgProvider2 es necesario para la compatibilidad con la plataforma y la edición de configuración. IVsCfgProvider es suficiente si no implementa esa funcionalidad.

  • Algunos de estos objetos que se muestran en el diagrama como objetos independientes se pueden combinar en la misma clase donde resulte práctico en función de sus requisitos de diseño específicos. En otros temas de esta sección, sin embargo, los objetos e interfaces asociados a esos objetos se analizarán según el escenario presentado en el diagrama.

  • Algunos objetos se implementan por separado. Por ejemplo, la generación del proyecto y de la solución se producen en subprocesos independientes y el objeto para administrar la compilación reside por separado del objeto que describe la configuración de la compilación.

    Para obtener más información sobre las interfaces del objeto de configuración y las interfaces del objeto de proveedor de configuración en el diagrama anterior, consulte Objeto de configuración del proyecto. Además, Configuración del proyecto para generación proporciona más información sobre el generador de configuraciones y las interfaces de objetos de dependencia de compilación, y la configuración del proyecto para administrar la implementación describe aún más las interfaces asociadas al implementador de configuración y a los objetos de dependencia de implementación. Por último, Configuración del proyecto para salida describe las interfaces de grupo de salida y objeto de salida, y el uso de páginas de propiedades para ver y establecer propiedades dependientes de la configuración.