Pregunta

¿Una aplicación en la necesidad .NET que se construirá en 64 bits para aprovechar al máximo de una máquina con un sistema operativo de 64 bits en él, o va a tomar ventaja de ella al igual que una acumulación de 32 bits. Básicamente, tenemos un problema con un fuera de excepción de memoria y se sugirió para ejecutar la aplicación de consola en una caja de 64 bits que "puede" resolver el problema. La pregunta es ¿podemos girar una caja 64 y lanzar la aplicación actual sobre el mismo o tengo que reconstruir la aplicación de un modo de 64 bits.

¿Fue útil?

Solución

Si la aplicación está configurada para construir para la plataforma "Cualquier CPU", entonces va a funcionar adecuadamente en ambos.

Sólo asegúrese de que no utiliza ningún material específico de 32/64 bits, o se encontrará con problemas.

aquí .

Para algunos inconvenientes en la discusión, véase aquí

Otros consejos

Si está construido para cualquier plataforma (el valor predeterminado), se ejecutará en 64 bits en sistemas operativos de 64 bits.

Dicho esto, todavía hay problemas potenciales a tener en cuenta. Si la interfaz con código nativo (a través de P / Invoke, C ++ / CLI, o COM), entonces necesitará al puerto que el código de 64 bits. Si la aplicación se gestiona 100%, simplemente funciona.

"Cualquier CPU" es su amigo.

Como acotación al margen:

Tuvimos una especialmente grande Trie estructura que supera el espacio de memoria de 2 GB de Windows de 32 bits. Debido a que la mayor parte de la estructura compuesta de referencias a objetos, se encontró que los requisitos de memoria de la aplicación casi se duplicó al pasar a 64 bits, lo que requiere alrededor de 4 GB. Esto es porque la memoria para almacenar una referencia es 64bits amplia en lugar de 32.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top