Cómo save la plataforma de destino en una solución de VisualStudio (teniendo en count el control de versiones y las testings)

Visual Studio (al less VisualStudio 2010) almacena la configuration de la plataforma de destino en el file *.suo que obviamente no se controlará con la versión.

En mi caso, esto no es un problema para la construcción central porque utiliza una opción de línea de command en msbuild que fuerza a la plataforma objective a ser x86 según sea necesario.

Sin embargo, si un colega comtesting mi proyecto, siempre terminará construyendo para AnyCPU y probando eso. Como no tiene ningún file *.suo , VisualStudio utilizará la configuration pnetworkingeterminada.

Mal o no, el colega está obligado a probar x86.

¿Existe alguna manera fácil de persistir con security en la plataforma objective para una Solución? Una variable de entorno que fuerza el valor pnetworkingeterminado no es exactamente lo que necesitamos, pero sería lo suficientemente bueno y fácil.

Visual Studio … almacena la configuration de la plataforma de destino en el file * .suo

No lo hace, lo almacena en el file del proyecto. Un fragment relevante de uno que creé:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>x86</PlatformTarget> // etc... </PropertyGroup> 

Se configura con Project + Properties, pestaña Build, cuadro combinado de destino de plataforma. Repita para la configuration de lanzamiento. Solo importa la configuration en el proyecto EXE, esa es la que determina la bitidez del process. Las DLL no tienen otra opción y deben usar AnyCPU.


Con toda probabilidad, se está tropezando con un error de layout bastante drástico en VS2010. Otro elemento es el nombre de la plataforma de la solución, que se muestra de forma destacada en el dialog del Administrador de configuration + compilation, por ejemplo. Esto siempre fue AnyCPU para proyectos administrados, VS2010 jodió esto de manera real cambiando el nombre a "x86". Y creando un gran caos cuando se importan proyectos de versiones anteriores, dando como resultado una configuration de "plataforms mixtas". Y sí, la última selección se guarda en el file .suo.

Esto es irrelevante para los proyectos administrados, solo es importante para los proyectos de C ++. Donde la configuration selecciona un set diferente de herramientas de compilation. El comstackdor y el linker de 64 bits son progtwigs diferentes. Un problema no existente para los proyectos administrados, bitness se determina en time de ejecución por la selección de jitter y se utiliza el mismo comstackdor de C # independientemente del objective de la plataforma deseada.

La mejor forma de eliminar este tipo de errores es eliminando agresivamente las plataforms y solo guardándolas. Use Build + Configuration Manager, select la input "Editar" en el cuadro combinado superior derecho y click Eliminar para plataforms extrañas hasta que solo tenga AnyCPU. También se recomienda actualizar su versión de VS, este error se corrigió nuevamente en VS2012.