2009-09-04 12 views
10

Estoy construyendo una aplicación C# que carga un dll COM de 32 bits. La aplicación compilada funciona bien en Windows de 32 bits pero barfs en Windows de 64 bits porque no puede cargar el COM de 32 bits. ¿Hay alguna forma de establecer un objetivo de compilación de 32 bits en VC# 2008 Express Edition?Configuración del objetivo de compilación x86 de 32 bits en Visual C# 2008 Express Edition?

Por otra parte, hay una manera de forzar una aplicación .NET compilado a la Cualquier CPU de destino acumulación para ejecutarse en modo de 32 bits en Windows de 64 bits?

Respuesta

12

No se puede establecer explícitamente en 32 bits en la interfaz de usuario en VS Express, pero aparentemente (solo tengo la versión Professional a mano) se puede hacer usando un poco de configuración. This publicación en el foro tiene detalles sobre cómo hacerlo.

Lo que también puede hacer es usar la herramienta CorFlags que viene con el .Net Framework SDK para configurar la salida compilada para que se ejecute como de 32 bits. Para establecer la marca de 32 bits utilizando CorFlags, ejecute esto desde la línea de comandos:

CorFlags.exe /32BIT+ yourapp.exe 

Esto establecerá una bandera en el encabezado de su exe para señalar a .NET que se debe ejecutar como de 32 bits.

+1

Muchas gracias. Las instrucciones en la página vinculada funcionaron muy bien. - me permitió seleccionar 32 bits desde la interfaz gráfica de usuario –

+0

CorFlags.exe también funcionó. ¡Gracias! –

26

Para la posteridad, aquí es el Adrian mensaje del foro relacionado con:

En VC# Express, esta propiedad es desaparecidos, pero todavía se puede crear una configuración x86 si sabe dónde mirada.

Parece una larga lista de pasos, pero una vez que sepa dónde se encuentran estas cosas , es mucho más fácil. Cualquiera que solo tenga VC# Express probablemente encuentre útil. Una vez que conozca el Administrador de configuración , la próxima vez será mucho más intuitivo la .

  1. En VC# Express 2005, vaya a Herramientas -> Opciones.
  2. En la esquina inferior izquierda del cuadro de diálogo Opciones, marque la casilla que dice , "Mostrar todas las configuraciones".
  3. En la vista de árbol en el lado izquierdo, seleccione "Proyectos y soluciones".
  4. En las opciones de la derecha, marque la casilla que dice "Mostrar configuraciones de compilación avanzadas ".
  5. Haga clic en Aceptar.
  6. recorrer para construir -> Administrador de configuración ...
  7. En la columna de la plataforma junto a su proyecto, haga clic en el cuadro combinado y seleccione "".
  8. En la configuración "Nueva plataforma", elija "x86".
  9. Haga clic en Aceptar.
  10. Haga clic en Cerrar.

No, ahora usted tiene una configuración x86 ! ¡Muy fácil! :-)

También recomiendo usar Configuration Manager para eliminar la plataforma Any CPU .Realmente no desea ese si alguna vez tiene dependencias en archivos DLL nativos de 32 bits (incluso dependencias indirectas ).

+1

Tenga en cuenta que en Visual Studio 2010, debe hacer clic en "Herramientas> Configuraciones> Configuración de expertos" antes de que aparezca el menú "Crear". Además, no creo que los pasos # 1 ~ 5 sean necesarios en 2010. – Fred

+0

Esto es exactamente lo que estoy buscando. Gracias :) –

Cuestiones relacionadas