Question

Est-ce une application dans le besoin .NET à construire en 64 bits pour profiter pleinement d'une machine avec un OS 64 bits sur elle, ou faut-il profiter comme une accumulation de 32 bits. En fait, nous avons un problème avec une exception de mémoire et il a été suggéré d'exécuter l'application de la console sur une boîte de 64 bits qui « peut » résoudre le problème. La question est peut-on simplement tourner une boîte 64 et lancer l'application en cours sur ou ai-je besoin de reconstruire l'application d'une manière 64 bits.

Était-ce utile?

La solution

Si votre application est configuré pour construire le « Any CPU » plate-forme, il va de façon appropriée sur soit exécuté.

Assurez-vous qu'il n'utilise pas choses spécifiques 32/64 bits, ou vous avez des problèmes.

MSDN docs .

Pour une discussion sur les inconvénients, voir ici

Autres conseils

S'il est construit pour une plate-forme (par défaut), il fonctionnera en 64 bits sur les systèmes d'exploitation 64 bits.

Cela étant dit, il y a encore des problèmes potentiels à surveiller. Si vous l'interface avec le code natif (via p / Invoke, C ++ / CLI, ou COM), alors vous aurez besoin au port que le code à 64 bits. Si l'application est géré à 100%, il fonctionne.

"Any CPU" est votre ami.

En aparté:

Nous avions une structure particulièrement importante qui a dépassé Trie l'espace mémoire de 2 Go de Windows 32 bits. Étant donné que la majeure partie de la structure composée de références d'objets, nous avons constaté que les exigences de mémoire de l'application ont presque doublé lors du passage à 64 bits, nécessitant environ 4gb. En effet, la mémoire pour stocker une référence est 64bits large au lieu de 32.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top