Configuración del proyecto para una compilaciónProject Configuration for Building

La lista de configuraciones de soluciones de una solución dada se administra mediante el cuadro de diálogo de configuraciones de soluciones.The list of solution configurations for a given solution is managed by the Solution Configurations dialog box.

Un usuario puede crear configuraciones de soluciones adicionales, cada uno con su propio nombre único.A user can create additional solution configurations, each with its own unique name. Cuando el usuario crea una nueva configuración de soluciones, el IDE tiene como valor predeterminado el nombre de configuración correspondiente en los proyectos o depuración si no existe ningún nombre correspondiente.When the user creates a new solution configuration, the IDE defaults to the corresponding configuration name in the projects, or Debug if no corresponding name exists. El usuario puede cambiar la selección para satisfacer necesidades específicas, si es necesario.The user can change the selection to meet specific requirements if necessary. La única excepción a este comportamiento es cuando el proyecto no admite una configuración que coincida con el nombre de la nueva configuración de soluciones.The only exception to this behavior is when the project supports a configuration that matches the name of the new solution configuration. Por ejemplo, suponga que una solución contiene Proyecto1 y Proyecto2.For example, assume a solution contains Project1 and Project2. Project1 tiene las configuraciones de proyecto Debug, comercial y MyConfig1.Project1 has project configurations Debug, Retail, and MyConfig1. Proyecto2 tiene las configuraciones de proyecto Debug, comercial y MyConfig2.Project2 has project configurations Debug, Retail, and MyConfig2.

Si el usuario crea una nueva configuración de solución denominada MyConfig2, Proyecto1 enlaza su configuración de depuración para la configuración de soluciones de forma predeterminada.If the user creates a new solution configuration named MyConfig2, Project1 binds its Debug configuration to the solution configuration by default. Proyecto2 también enlaza su configuración MyConfig2 a la configuración de soluciones de forma predeterminada.Project2 also binds its MyConfig2 configuration to the solution configuration by default.

Nota

Enlace distingue mayúsculas de minúsculas.Binding is case-insensitive.

Cuando el usuario selecciona el selección múltiple elemento en la lista desplegable de configuración, el entorno muestra un cuadro de diálogo que proporciona la lista de las configuraciones disponibles.When the user selects the Multiple Selection item in the configuration drop-down list, the environment displays a dialog box that provides the list of available configurations.

Varias configuracionesMultiple Configurations
Varias configuracionesMultiple configurations

En este cuadro de diálogo, el usuario puede seleccionar una o varias configuraciones.Within this dialog box, the user can select one or multiple configurations. Una vez seleccionado, los valores de propiedad que se muestra en el cuadro de diálogo de páginas de propiedad reflejan la intersección de los valores de las configuraciones seleccionadas.Once selected, the property values displayed on the property pages dialog box reflect the intersection of values for the selected configurations.

Vea configuración de la solución para obtener información relativa a la adición y cambiar el nombre de las configuraciones de soluciones y proyectos.See Solution Configuration for information relating to adding and renaming configurations for solutions and projects.

Dependencias del proyecto y orden de compilación sean independientes de la configuración de solución: es decir, solo puede establecer el árbol de una dependencia para todos los proyectos de la solución.Project dependencies and build order are solution configuration independent: that is, you can only set up one dependency tree for all of the projects in the solution. Con el botón secundario en la solución o proyecto y seleccionando el dependencias del proyecto o orden de generación del proyecto opción abre el dependencias del proyecto cuadro de diálogo.Right-clicking the solution or project and selecting either the Project Dependencies or Project Build Order option opens the Project Dependencies dialog box. También se puede abrir desde el proyecto menú.It can also be opened from the Project menu.

Dependencias del proyectoProject Dependencies
Dependencias del proyectoProject dependencies

Dependencias del proyecto determinan el orden en el que se generan los proyectos.Project dependencies determine the order in which projects build. Utilice la ficha de orden de generación en el cuadro de diálogo para ver el orden exacto en el que compilar proyectos en una solución y use la ficha dependencias para modificar el orden de compilación.Use the Build Order tab on the dialog box to view the exact order in which projects within a solution will build, and use the Dependencies tab to modify the build order.

Nota

Proyectos en la lista que tienen sus casillas de verificación seleccionadas, pero aparecen atenuado agregados por el entorno debido a dependencias explícitas especificado por el IVsBuildDependency o IVsDeployDependency e interfaces, no se puede cambiar.Projects in the list that have their check boxes selected but appear dimmed have been added by the environment due to explicit dependencies specified by the IVsBuildDependency or the IVsDeployDependency interfaces, and cannot be changed. Por ejemplo, al agregar una referencia al proyecto desde un Visual BasicVisual Basic proyecto a otro proyecto agrega automáticamente una dependencia de compilación que solo se pueden quitar mediante la eliminación de la referencia.For example, adding a project reference from a Visual BasicVisual Basic project to another project automatically adds a build dependency that can only be removed by deleting the reference. No se puede seleccionar proyectos cuyas casillas de verificación están activadas y aparecen atenuadas porque si lo hace, crearía un bucle de dependencia (por ejemplo, sería depende Proyecto2 Proyecto1 y Proyecto2 sería depende Proyecto1), lo que detendría la generación.Projects whose check boxes are clear and appear dimmed cannot be selected because doing so would create a dependency loop (for example, Project1 would be dependent upon Project2, and Project2 would be dependent upon Project1), which would stall the build.

Visual StudioVisual Studio procesos de compilación incluyen las operaciones de vínculo que se invocan con un solo comando de generación y compilación típico. build processes include the typical compile and link operations that are invoked with a single Build command. También se admiten otros dos procesos de compilación: una operación de limpieza para eliminar todos los elementos de salida de una compilación anterior y una comprobación de actualización para determinar si un elemento de salida en una configuración ha cambiado.Two other build processes can also be supported: a clean operation to delete all output items from a previous build, and an up-to-date check to determine if an output item in a configuration has changed.

IVsProjectCfg2 los objetos devuelven correspondiente IVsBuildableProjectCfg (devuelto desde get_CfgType) para administrar sus procesos de compilación.IVsProjectCfg2 objects return a corresponding IVsBuildableProjectCfg (returned from get_CfgType) to manage their build processes. Para informar del estado de una operación de compilación mientras se lleva a cabo, aumentan las llamadas a IVsBuildStatusCallback, una interfaz implementada por el entorno y cualquier otro objeto que está interesado en los eventos de estado de compilación.To report the status of a build operation while it is occurring, configurations make calls to IVsBuildStatusCallback, an interface implemented by the environment and any other object interested in build status events.

Después de compilar, los valores de configuración se pueden utilizar para determinar si se permite o no se puede ejecutar bajo el control del depurador.Once built, configuration settings can be used to determine whether or not they can be run under the control of the debugger. Implementan configuraciones IVsDebuggableProjectCfg para admitir la depuración.Configurations implement IVsDebuggableProjectCfg to support debugging.

Después de implementar las dependencias del proyecto, puede manipular mediante programación las dependencias a través del modelo de automatización.After implementing the project dependencies, you can programmatically manipulate the dependencies through the automation model. Se llama a BuildDependencies en el modelo de automatización.You call BuildDependencies in the automation model. No hay ninguna interfaz de nivel de API de VSIP disponible que permiten la manipulación directa de las configuraciones de administrador de compilación de soluciones y sus propiedades.There are no available VSIP API-level interfaces that allow the direct manipulation of the solution build manager configurations and their properties.

Además, puede proporcionar una cuadrícula en la ventana de las dependencias del proyecto.In addition, you can provide a grid in the project dependencies window. Para obtener más información, consulte Mostrar cuadrícula de propiedades.For more information, see Properties Display Grid.

Vea tambiénSee Also

Administrar opciones de configuración Managing Configuration Options
Configuración del proyecto para administrar la implementación Project Configuration for Managing Deployment
Configuración del proyecto para la salidaProject Configuration for Output