Entiendo que podemos compilar una aplicación .NET apuntando a AnyCPU lo que hará que se ejecute 32 bits en un sistema operativo de 32 bits y 64 bits en un sistema operativo de 64 bits.Ejecutando la aplicación .NET de 32 bits en sistema operativo de 64 bits, ¿es realmente malo?
Sin embargo, se informó de un error * en un sistema operativo de 64 bits en el que mi aplicación estaba dando un error y las soluciones para eso, tengo que apuntar a x86.
Ahora mi pregunta: ¿es realmente malo apuntar a x86 aunque su código se ejecute en x64? ¿De qué tipo de actuación estamos hablando? (mi aplicación es bastante intensiva en la CPU pero es realmente difícil de conseguir)
Después de todo .NET Framework se ejecutará en 32 bits, lo cual me suena mal en lugar de tomar la capacidad de direccionamiento total de x64 CPU **.
* No puedo recordar el error, pero la solución estaba dirigida específicamente a x86, y resolvió el problema.
** No estoy seguro de si es importante pero mi aplicación no utiliza ninguna variable Int64.
Puede ejecutar COM de 32 bits desde un proceso de 64 bits suponiendo que lo ejecuta fuera de proceso. Ver http://stackoverflow.com/questions/611651/64-bit-c-with-a-32-bit-vb6-com-object – Zach
En mi caso, es el marco el que maneja la interoperabilidad, profundamente en las entrañas de WIC. Había considerado escribir un proxy fuera de proc, pero es mucho menos complicado apuntar a x86 ... –