Domanda

Esiste un'applicazione .NET bisogno di essere costruito in 64 bit per trarre il massimo vantaggio da una macchina con un sistema operativo a 64 bit su di esso, o intende approfittarne proprio come un 32 bit build. In sostanza, abbiamo un problema con un fuori un'eccezione di memoria ed è stato suggerito per eseguire l'applicazione console su una scatola a 64 bit, che "può" risolvere il problema. La domanda è: possiamo solo girare una scatola 64 e gettare l'applicazione corrente su di esso o devo ricostruire l'applicazione in un modo a 64 bit.

È stato utile?

Soluzione

Se la vostra applicazione è configurato in modo da costruire per la piattaforma "Qualsiasi CPU", allora sarà eseguito in modo appropriato su entrambi.

Basta fare in modo che non fa uso di qualsiasi materiale specifico 32/64 bit, o si incorrerà in problemi.

qui .

Per qualche discussione sulla svantaggi, vedere qui

Altri suggerimenti

Se è costruito per qualsiasi piattaforma (il default), verrà eseguito a 64 bit su sistemi operativi a 64 bit.

Detto questo, ci sono ancora potenziali problemi per guardare. Se si interfaccia con codice nativo (tramite P / Invoke, C ++ / CLI, o COM), allora si avrà bisogno di porta che il codice a 64 bit. Se l'applicazione viene gestita al 100%, semplicemente funziona.

"Qualsiasi CPU" è tuo amico.

Per inciso:

Abbiamo avuto un numero particolarmente elevato Trie struttura che ha superato lo spazio di memoria 2GB di Windows a 32 bit. Poiché la maggior parte della struttura composta di riferimenti a oggetti, abbiamo trovato che i requisiti di memoria dell'app quasi raddoppiati quando si passa a 64 bit, che richiede circa 4 GB. Questo perché la memoria per memorizzare un riferimento è 64bits vasta invece di 32.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top