2011-11-30 6 views
15

Inicialmente, creé una aplicación de consola usando Mass Transit como bus de servicio. Recientemente, cambié al NServiceBus, que no requiere que hagas una aplicación de consola, sino una biblioteca de clase. En las propiedades del proyecto, simplemente cambié la configuración que lo cambia de una aplicación de consola a una biblioteca, pero la restricción de que solo se puede construir para x86 sigue vigente.Cómo agregar x64 (o cualquier CPU) como una opción de compilación en Visual Studio 2010 (desde la aplicación de consola a la biblioteca de clases)

No puedo cambiar el tipo de compilación a Cualquier CPU ahora que es una aplicación de consola, que ahora debería ser válida. ¿Hay alguna manera de completamente cambiar mi aplicación a una biblioteca de clases para que pueda ejecutar la opción construir cualquier CPU? ¿Necesito crear un nuevo proyecto, copiar archivos en él y continuar de esa manera? ¿O es tan simple como cambiar algo en el archivo del proyecto (.proj)?

La pregunta de desbordamiento de pila Missing Debug|Any CPU build configuration for projects and defaulting to Debug|x86 on Windows x64 ofrece más contexto sobre este problema de x86 solo para aplicaciones de consola.

+0

Usted está luchando contra una decisión de diseño muy básicamente tonta en VS2010, cada proyecto que agrega a su solución se predetermina a un objetivo de plataforma de x86. Incluso bibliotecas de clases, del tipo que no tienen voz sobre lo que seleccionó el proyecto EXE. Simplemente cambie la configuración a AnyCPU. –

+2

@Hans ... no, solo los proyectos que generan EXE tienen un valor predeterminado de x86, porque MS ha determinado que los EXEs neutros en arquitectura suelen ser más problemáticos de lo que vales. Las aplicaciones de 32 bits tienen acceso a más funciones y, por lo general, son un poco más rápidas que las aplicaciones de 64 bits, por lo que es lo predeterminado. Las versiones beta tenían un error que predeterminaba todos los proyectos a x86, pero las bibliotecas de clase predeterminadas de versiones más nuevas a Cualquier CPU. – Gerald

Respuesta

18

Solo tiene que agregar una configuración para Cualquier CPU en el administrador de configuración.

1) Haga clic derecho en la solución y seleccione Propiedades

2) Seleccione Propiedades de configuración, haga clic en Administrador de configuración ...

3) Cambiar la plataforma de soluciones activas a cualquiera de las CPU. Si no hay ninguna plataforma de CPU, salte al # 4.

4) Haga clic en la flecha en el cuadro combinado en la columna de la Plataforma de la biblioteca de clases, y seleccione Nuevo ...

5) Asegúrese de que "Cualquier CPU" está seleccionado en la nueva plataforma. Si no había ninguna plataforma de solución de CPU en el paso 3, asegúrese de que la casilla "Crear nueva plataforma de soluciones" esté marcada. Luego haz clic en OK.

6) Marque la casilla en la columna de "Construir" para su biblioteca de clases

7) Cerca del Gestor de Configuración y abra las propiedades de la biblioteca de clases

8) Seleccione Cualquier CPU para Plataforma, luego seleccione Cualquier CPU para el objetivo de la plataforma y guarde.

(Paso 8 puede o no ser necesario, dependiendo de lo que se ha hecho con las configuraciones previamente.)

+2

¿Conoces una forma de hacerlo de forma predeterminada para todos los programas de consola nuevos? – naasking

+8

No puedo crear 'AnyCPU' porque me da error de que esta configuración ya existe, pero no puedo seleccionarla para la aplicación de la consola. –

+0

@Johnny_D desmarcar la casilla de verificación "Crear nueva plataforma de soluciones" funcionó para mí. –

0

Sólo añadir una configuración para Cualquier CPU en el gestor de configuración.

  1. Haga clic derecho en la solución y seleccione Propiedades.

  2. Seleccione Propiedades de configuración, luego haga clic en Administrador de configuración.

  3. Cambia la plataforma de Solución activa a Cualquier CPU. Si no hay ninguna plataforma de CPU, vaya al paso 4.

  4. Haga clic en la flecha en el cuadro combinado debajo de la columna Plataforma para su biblioteca de clases, y seleccione Nuevo.

  5. Asegúrese de que se haya seleccionado Cualquier CPU en Nueva plataforma. Si no había ninguna plataforma de solución de CPU en el paso 3, asegúrese de que la casilla "Crear nueva plataforma de soluciones" esté marcada. Luego haz clic en OK.

  6. Marque la casilla en la columna de "Construir" para su biblioteca de clases

  7. Cerca del Administrador de configuración, y abrir las propiedades de la biblioteca de clases

  8. Seleccione cualquiera de las CPU de la plataforma, a continuación, seleccione Cualquier CPU para el objetivo de la plataforma y guárdelo.

El paso 8 puede o no ser necesario, dependiendo de lo que se haya hecho con las configuraciones anteriores.

Cuestiones relacionadas