Configuración de compilación: plataforma mixta frente a cualquier CPU

Respuestas:

42

Aquí hay un enlace que ayuda a explicar la configuración de compilación que se encuentra en Visual Studio y sus archivos de compilación:

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

Básicamente, la configuración indica en qué plataforma se puede ejecutar el ensamblaje. Cuando se selecciona AnyCPU, la DLL resultante se marca como capaz de ejecutarse en cualquier lugar; cuando se selecciona x86, la DLL resultante se marca como que solo se puede ejecutar en sistemas de 32 bits y no se ejecutará en aplicaciones o procesos de 64 bits (pero se ejecutará en Windows de 64 bits;) y así sucesivamente.

Esto solo establece indicadores en la DLL compilada, no cambia en absoluto otros aspectos del proceso de compilación.

porusan
fuente
1
Además, consulte este enlace sobre interacciones de archivos de solución: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer
48
Sin embargo, esto no parece explicar las "plataformas mixtas".
Amenaza
2
@Menace Mi entendimiento (de una referencia perdida) es que cuando abre una solución en la que todos los proyectos no tienen la misma configuración, Visual Studio muestra / elige la configuración de la solución como Plataformas mixtas. (Si puedo encontrar la referencia original, enmendaré esto con una cita.)
koan911
8
El enlace visualstudiohacks.com/articles/… está muerto.
AH.
40

Como ya explicó otra plataforma. (es decir, X86 para 32 bits, x64 es solo para 64 bits y 'Cualquier CPU' puede ejecutarse en Ambos). Me concentraré en Mixed Platformy en qué se diferencia esto de Any CPU.

El Any CPUestá en el ajuste del nivel de proyecto, mientras que en la solución del mundo real tenemos número de proyectos en una solución, y sus posibilidades de que una parte de mi proyecto de uso Any CPU, pero otros usos del x86o x64plataforma de construcción.

Así que a nivel de solución Mixed Platformse seleccionará automáticamente . esto indica que durante la solución Build / Rebuild, cada proyecto se construye en función de su plataforma seleccionada.

Neha Jain
fuente
17

Los nombres de la configuración de compilación no significan mucho: proliferan si tiene proyectos C ++ y C # en la misma solución (y peor aún si también tiene proyectos móviles), porque los diversos tipos de proyectos usan diferentes nombres de configuración, por lo que termina con muchos de ellos.

Intentamos seguir eliminando todas las configuraciones que no estamos usando, pero eso es un trabajo duro a veces, ya que cuando agrega un nuevo proyecto, las configuraciones no deseadas se agregarán nuevamente a la solución.

Mi recomendación es decidir qué configuraciones necesita (mirando la configuración real dentro de ellas) y luego eliminar todo lo demás.

Will Dean
fuente
10

De: esta publicación. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

Cuando todos los proyectos de una solución son del mismo tipo (por ejemplo, proyectos C # / VB), las configuraciones de la solución coincidirán exactamente con las configuraciones del proyecto. Una vez que tiene proyectos en una solución que tienen configuraciones / plataformas no coincidentes, Visual Studio crea las configuraciones de nivel de solución "Plataformas mixtas / Depuración" y posiblemente "Plataformas mixtas / Versión". Estas configuraciones son solo asignaciones a configuraciones de nivel de proyecto individuales.

Por ejemplo, si tiene un proyecto C # y un proyecto C ++, normalmente "Plataformas mixtas / Debug" se asignará a "Cualquier CPU / Debug" para el proyecto C # y "Win32 / Debug" para el proyecto C ++.

GilesDMiddleton
fuente