x64 x32 visual sp1 microsoft instalar error descargar c++ visual-studio visual-studio-2008

x32 - Visual c++ 2008: cómo tener una configuración global definida en una solución



microsoft visual c++ 2008 x64 (5)

Tengo una serie de soluciones con una gran cantidad de proyectos en ellas. Me gustaría poder definir configuraciones globales para la solución que utilizan todos los proyectos. Por ejemplo, un directorio de inclusión. Quiero poder cambiar el directorio de inclusión en un solo lugar para todos los proyectos en las soluciones.

Cuando busqué una solución, encontré una buena descripción del problema que coincide exactamente con la mía, pero la solución sugerida allí, las hojas de propiedades del proyecto, se definen por proyecto y no por soluciones.

Podría usar las variables de entorno o la configuración de Visual Studio, pero todos los que necesiten compilar el código deben definir exactamente la misma configuración.

¿Alguien puede sugerir una manera de hacer esto? Gracias.


¿Tal vez podría agregar un archivo MSBuild a su solución en la que defina varias propiedades compartidas y luego <Importar> ese archivo en todos sus proyectos reales?

Es decir, en su archivo de configuración MSBuild define un número de propiedades:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WinUnitIncludeDir>C:/Includes/WinUnit</WinUnitIncludeDir> <!-- Other shared properties go here --> </PropertyGroup> </Project>

De tus proyectos reales, puedes referirte a esto:

<Project ...> ... <Import Project="path/to/settings.msbuild" /> ... <Configurations> <Configuration ...> <Tool Name="VCCLCompilerTool" ... AdditionalIncludeDirectories="$(WinUnitIncludeDir)" ... /> ... ... ... </Project>


Busqué exactamente lo mismo hace algún tiempo, pero no encontré exactamente lo que quería.

Lo único que podría estar cerca de esta característica son Hojas de propiedades . Eso no es exactamente global ya que es propiedad de un proyecto y usado por otros.


Usamos hojas de propiedades para lograr esto. Se puede asignar una sola hoja de propiedades a todos los proyectos en la solución. A partir de ese momento, puede cambiar una configuración en esa hoja de propiedades y afectará a todos los proyectos.

Consejo avanzado: en realidad usamos varias hojas de propiedades (por ejemplo, una para los tipos de destino de lanzamiento, una para los tipos de destino de depuración). La sugerencia es que el orden es muy importante. Si está editando los archivos del proyecto a mano, la última hoja de propiedades anulará la configuración en las hojas de propiedades anteriores de la lista. Si está editando en la GUI, el TOP reemplaza a los que están debajo.


Como se sugiere, debería mirar las Hojas de propiedades (también conocidas como archivos .vsprops).
Escribí una breve introducción a esta característica aquí .


Como otros han sugerido, las hojas de propiedades pueden hacer lo que quieras. El truco es usar InheritedPropertySheets como usaría #include en C ++. NOTA: el XML es ligeramente diferente para archivos de proyecto y archivos de hojas de propiedades. Aquí hay un ejemplo simplificado y artificial de dos proyectos ( prjA.vcproj y prjB.vcproj ) que incluyen la misma hoja de propiedades ( sln.vsprops ) que a su vez incluye otra ( strict.vsprops ):

strict.vsprops

<VisualStudioPropertySheet ...> <Tool Name="VCCLCompilerTool" WarningLevel="3" WarnAsError="true"/> </VisualStudioPropertySheet>

sln.vsprops

<VisualStudioPropertySheet ... InheritedPropertySheets="./strict.vsprops"> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="NOMINMAX=1" RuntimeTypeInfo="true" /> </VisualStudioPropertySheet>

prjA.vcproj

<VisualStudioProject ...> <Configurations> <Configuration ... InheritedPropertySheets="./sln.vsprops"> </Configuration> </Configurations> ... </VisualStudioProject>

prjB.vcproj

<VisualStudioProject ...> <Configurations> <Configuration ... InheritedPropertySheets="./sln.vsprops"> </Configuration> </Configurations> ... </VisualStudioProject>

También puede encontrar útil esta pregunta y sus respuestas.