cuestión compleja, voy a tratar de simplificar:
Cualquier aplicación .Net puede ser compilado para x86 (32 bits) y x64 (64 bits) a la vez. En realidad lo hacen por defecto. Puede cambiar esto cambiando la CPU de destino en la pestaña Generar en Propiedades del proyecto. Los objetivos admitidos son "Cualquiera" (compilará Just-In-Time a 32 o 64 bits dependiendo del soporte del sistema operativo), "x86" se compilará a 32 bits, que funciona en todas las plataformas, y "x64" se compilará a 64 -bit que solo funciona en plataformas de 64 bits.
Sí. Véase más arriba. También tenga en cuenta que a veces se realiza un segundo nivel de compilación, y ese es el NGEN. Crea una imagen nativa para un tipo de CPU específico. Sin embargo, si te metes con esto, ya lo sabes.
Para .dll elija "Cualquier" CPU para ellos. Para .EXE (punto de entrada) debe elegir Cualquiera, x86 o x64. Hay algunas cosas a considerar: las aplicaciones x86 .Net que acceden a los archivos .dll nativos de Windows (interpo) requieren x86 .dll-files. Por lo tanto, una aplicación de 64 bits no puede acceder a llamadas API de 32 bits y viceversa. A menudo, esto es un motivo para que las aplicaciones .Net fallen en los sistemas operativos de 64 bits. La forma de resolver esto es hacer referencia a los .dll correctos o simplemente establecer la aplicación .Net a x86 (32 bits) bajo las propiedades. Todas las demás dependencias se convertirán automáticamente en 32 bits durante la compilación Just-In-Time si están configuradas en "Cualquiera".
Las ventajas de 64 bits son complejas. Existen ventajas y desventajas según lo que hace tu aplicación. La ventaja más obvia es que su aplicación puede romper la barrera de memoria de 2GB. La desventaja es como se explica en el n. ° 3, si hace referencia a .dll de 64 bits, su aplicación no se ejecutará en sistemas operativos de 32 bits.
Todo sale de la caja. No te preocupes por nada, excepto por todo lo de arriba. :)
Ususally, usted _no compila sus bibliotecas explícitamente para 32 o 64 bit pero para "cualquier CPU" y deja que la máquina de destino (o su aplicación principal) elijan, cual correr –
Si elige un modo, la aplicación será más ligera pero no podría ejecutarse en la otra plataforma ... – ykatchou