2012-02-11 15 views
11

Tengo dos proyectos en mi solución. Actualmente estoy usando el modo de configuración predeterminado que es 'Depurar'. Cuando quiero hacer una compilación 'Release', cambio al modo Release y luego veo que todas las propiedades de mis proyectos anteriores están configuradas por defecto, lo que significa que tengo que agregar todas las propiedades de nuevo manualmente a este modo.Visual Studio 2010: ¿conserva las propiedades del proyecto entre las diferentes configuraciones de compilación?

¿Hay una forma conveniente de resolver esto en VS2010, por ejemplo, copiar todas las propiedades como rutas de acceso, macros de preprocesador, macros de compilación, etc. del modo 'Depurar' al 'Liberar'?

Respuesta

11

Los ajustes de configuración se almacenan en el archivo .vcproj/.vcxproj. Podrías abrirlo en algún editor de texto y copiar algunas configuraciones manualmente, pero no sería conveniente. Por ahora, puede abrir las propiedades de los proyectos y copiar estas configuraciones al cambiar la configuración Debug/Release en la esquina superior izquierda de esa ventana.

La próxima vez cuando establezca propiedades que tienen la intención de ser las mismas para todas las configuraciones, elija Configuración: All Configurations para evitar problemas.

0

También puede recrear el nuevo modo que desee utilizando el administrador de configuración y luego puede elegir desde qué configuración desea copiar todas las configuraciones.

5

Las hojas de propiedades pueden resolver este y algunos otros problemas relacionados con la propiedad con facilidad.

En resumen, todas las propiedades de un proyecto son solo nodos en un documento XML, y los nodos del grupo de propiedades pueden tener un atributo condition. Son fáciles de cambiar en cualquier editor de texto, pero una característica menos conocida es la capacidad de importar otros documentos XML, que pueden proporcionar configuraciones (para todos menos para algunos proyectos específicos).

This blog post tiene un buen tutorial sobre el uso de hojas de proyectos, y algo más de información en this question. Puede crearlos en Visual Studio, editarlos (incluida la copia de la configuración existente de su proyecto) y luego adjuntarlos a su proyecto con el administrador de la propiedad (no la ventana de propiedades).

Los grupos en su hoja de propiedades usan la misma sintaxis que los ajustes normales, y se pueden configurar para todas las configuraciones o filtrar para aplicar solo en algunos. También se pueden filtrar por nombre del proyecto y algunas otras cosas, usando el sistema de condiciones y variables de VS. Por ejemplo, yo uso:

<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <ClCompile> 
    <WarningLevel>Level4</WarningLevel> 
    <TreatWarningAsError>true</TreatWarningAsError> 
    <Optimization>Disabled</Optimization> 
    <EnablePREfast>true</EnablePREfast> 
    <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 
    </ClCompile> 
</ItemDefinitionGroup> 

para algunos de mis construcciones, para aplicar los mismos ajustes a todos los proyectos (full file here).

Uno de los usos más convenientes es proporcionar el directorio de compilación en el archivo, por lo que todos sus proyectos se compilan uniformemente en el mismo directorio (asegúrese de usar el nombre del proyecto para la salida).

1

La administración de casi todas las propiedades en múltiples compilaciones diferentes (depuración, lanzamiento, win32, x64, etc.) se puede lograr con una sola colección de configuraciones mediante el uso de Macros.

Por lo tanto, antes de editar las configuraciones de un proyecto, asegúrese de haber configurado Configuraciones en All Configurations y, Plataforma: en All Platforms. Ahora casi todas las configuraciones se pueden hacer de esta manera, en todas las diferentes configuraciones. Digamos que desea diferentes configuraciones y plataformas para usar diferentes versiones de varias bibliotecas.Suponiendo que usted está utilizando una convención de nomenclatura que es consistente a través de todos los proyectos, a continuación, puede utilizar:

directorios de librerías adicionales: ..\..\foo\bar\lib\$(Platform)_$(Configuration)

Se puede ver lo que las macros se expandirán para, pulsando el botón de edición y, a continuación, hacer clic en el botón Macros>>.

Cuestiones relacionadas