Objeto de configuración del proyecto

El objeto de configuración del proyecto administra la visualización de la información de configuración en la interfaz de usuario.

Visual Studio Project Configuration Páginas de propiedades de configuración del proyecto

El proveedor de configuración del proyecto administra las configuraciones del proyecto. El entorno y otros paquetes, para obtener acceso y recuperar información sobre las configuraciones de un proyecto, llame a las interfaces asociadas al objeto Proveedor de configuración de proyectos.

Nota:

No se pueden crear ni editar archivos de configuración de soluciones mediante programación. Debe usar DTE.SolutionBuilder. Consulte Configuración de soluciones para obtener más información.

Para publicar un nombre para mostrar que se usará en la interfaz de usuario de configuración, el proyecto debe implementar get_DisplayName. El entorno llama GetCfgsa , que devuelve una lista de IVsCfg punteros que puede usar para obtener los nombres para mostrar de la información de configuración y plataforma que se mostrará en la interfaz de usuario del entorno. La configuración activa y la plataforma se determinan mediante la configuración del proyecto almacenada en la configuración de la solución activa. El FindActiveProjectCfg método se puede usar para recuperar la configuración del proyecto activo.

Opcionalmente, el IVsProjectCfgProvider objeto se puede implementar en el IVsCfgProvider2 objeto con el IVsCfgProviderEventsHelper objeto para que pueda recuperar un IVsProjectCfg2 objeto basado en el nombre de configuración del proyecto canónico.

Otra manera de proporcionar el entorno y otros proyectos con acceso a las configuraciones de proyecto es que los proyectos proporcionen una implementación del IVsCfgProvider2::GetCfgs método para devolver uno o varios objetos de configuración. Los proyectos también pueden implementar IVsProjectCfg2, que hereda de IVsProjectCfg y, por tanto, de IVsCfg, para proporcionar información específica de la configuración. IVsCfgProvider2 admite plataformas y funcionalidad para agregar, eliminar y cambiar el nombre de las configuraciones del proyecto.

Nota:

Dado que Visual Studio ya no está limitado a dos tipos de configuración, el código que procesa las configuraciones no debe escribirse con suposiciones sobre el número de configuraciones, ni tampoco debe escribirse con la suposición de que un proyecto que solo tiene una configuración es necesariamente Debug o Retail. Esto hace que el uso de get_IsReleaseOnly y get_IsDebugOnly obsoleto.

Al llamar QueryInterface al objeto devuelto deIVsGetCfgProvider::GetCfgProvider recupera IVsCfgProvider2. Si IVsGetCfgProvider no se encuentra llamando QueryInterface al objeto de IVsProject3 proyecto, puede tener acceso al objeto de proveedor de configuración llamando QueryInterface al objeto del explorador raíz de jerarquía para el objeto devuelto para IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)o a través de un puntero al proveedor de configuración devuelto para IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider).

IVsProjectCfg2 proporciona principalmente acceso a objetos de administración de compilación, depuración e implementación y permite a los proyectos agrupar salidas. Los métodos de IVsProjectCfg y IVsProjectCfg2 se pueden usar para implementar IVsBuildableProjectCfg para administrar el proceso de compilación y IVsOutputGroup punteros para los grupos de salida de una configuración.

El proyecto debe devolver el mismo número de grupos para cada configuración que admita aunque el número de salidas contenidas en un grupo puede variar de la configuración a la configuración. Los grupos también deben tener la misma información de identificador (nombre canónico, nombre para mostrar e información de grupo) de la configuración a la configuración dentro de un proyecto. Para obtener más información, vea Configuración del proyecto para la salida.

Para habilitar la depuración, las configuraciones deben implementar IVsDebuggableProjectCfg. IVsDebuggableProjectCfg es una interfaz opcional implementada por proyectos para permitir que el depurador inicie una configuración y se implementa en el objeto de configuración con IVsCfg y IVsProjectCfg. El entorno lo llama cuando el usuario elige iniciar el depurador presionando F5.

ISpecifyPropertyPages y IDispatch se usan junto con páginas de propiedades para recuperar y mostrar información dependiente de la configuración al usuario. Para obtener más información, vea Páginas de propiedades.

Consulte también