2012-02-10 11 views
15

Quiero que mi aplicación sea compilación para x64 (porque estoy usando x64 dlls). En el administrador de configuración, configuré "Plataforma de solución activa" en "x64" Sin embargo, en la lista de proyectos, la plataforma está configurada en "x86". "Destino de la plataforma" en las propiedades del proyecto también está ajustado en "x 86"Plataforma de solución activa VS Project Platform VS Objetivo de plataforma

estoy totalmente confundida hay tres lugares para colocar la plataforma de destino:

  • Configuration Manager: plataforma de soluciones activas
  • Configuration Manager: Proyecto
  • plataforma
  • propiedades del proyecto: destino de la plataforma

Por ejemplo, yo puedo establecer la plataforma de soluciones activas a 64, pla Proyecto tform a x86 y objetivo del proyecto a x64. ¿Qué significará eso?

¿Alguien puede describir qué significa exactamente cada una de estas opciones y cómo se supone que deben usarse juntas? Cómo compilar a x64?

Respuesta

18

La Plataforma de solución activa le permite configurar una combinación específica de configuraciones para cada proyecto. Project Platform le permite realizar ajustes de configuración específicos para un proyecto. Estas dos configuraciones en realidad no dicen nada sobre con qué plataforma se construirán la solución y los proyectos, solo es un conjunto de configuración para el que puede cambiar la configuración real.

De forma predeterminada, la configuración x64 establece que el proyecto se compile específicamente para x64, pero eso se puede cambiar en las propiedades del proyecto a través de la propiedad Plataforma objetivo del proyecto (aunque sería muy confuso cambiar el destino para un conjunto de configuración existente ser algo más que su nombre).

Cada proyecto Plataforma objetivo propiedad es la configuración que se utiliza para indicar para qué plataforma se compila el ensamblado del proyecto. Una configuración de AnyCPU es la configuración recomendada si ese proyecto no tiene ninguna dependencia de los componentes que requieren una plataforma específica para funcionar.

El ajuste Cualquier CPU hará que el montaje sea JIT: ed a

  • x86 en plataformas de 32 bits
  • x64 en 64 bits plataformas

Ver this question para más información. En su ejemplo, configurar la plataforma de solución activa en x64, la plataforma del proyecto en x86 y el objetivo del proyecto en x64 significaría que al seleccionar esa configuración de la solución, el ensamblaje del proyecto se compilaría solo para 64 bits, provocando un error si trataste de ejecutarlo en una plataforma de 32 bits.

La configuración de x64 debe utilizarse si tiene una dependencia en un recurso de 64 bits único, como un dll de 64 bits. En consecuencia, la configuración x86 se debe usar si tiene una dependencia en un recurso de solo 32 bits.

La configuración del administrador de configuración se puede utilizar para cambiar la forma en que se construyen los proyectos; por ejemplo, usar diferentes ensambles referenciados para x86/x64 o incluso para depurar/liberar, como in this question.El conjunto de configuración se representa como variables que se pueden usar dentro de la configuración de compilación para controlar qué incluir y qué tareas de compilación ejecutar para una configuración específica. Eche un vistazo dentro de un archivo de proyecto con el bloc de notas y verá cómo se usa.

+4

Complejidad insana, cuando parece suficiente tener solo dos conmutadores en las propiedades del proyecto (x64 | x86 | Cualquier CPU). – SerG