2009-06-26 2 views

risposta

1

Per la maggior parte dovrebbe funzionare bene. Dovresti stare attento se stai facendo qualcosa con codice nativo, che si tratti di codice gestito non sicuro, o di interop/PInvoke, ma se tutto il tuo codice è gestito non dovresti avere problemi.

6

Se non si basa su una libreria esterna a 32 bit (ad es. Componente COM), funzionerà perfettamente come un processo a 64 bit e ne sfrutterà i vantaggi (spazio degli indirizzi di grandi dimensioni, set di istruzioni x64, ...) . Se si basa su roba a 32 bit, la maggior parte delle volte è ancora possibile eseguirlo come applicazione a 32 bit impostando la piattaforma di destinazione su x86.

1

Un'applicazione puro NET viene eseguito su un sistema operativo a 64 bit senza modifiche.

Se si utilizza una libreria/CLI C++, utilizzare l'architettura specifici componenti COM, o fare qualsiasi P/Invoke chiamate, è possibile necessità di aggiornare l'applicazione per un ambiente a 64 bit.

0

La maggior parte dei sistemi operativi a 64 bit di sono in grado di gestire le applicazioni a 32 bit senza problemi. Questo è il motivo per cui vedi una cartella Programmi (x86) sul tuo sistema operativo a 64 bit per gestire molte delle tue vecchie app a 32 bit.

5

applicazioni più NET dovrebbero lavorare non modificato in 64 bit se si rivolgono x86 anziché Qualunque CPU che è il default VS.NET.

+0

Vuoi dire: "se/non/target x86 anziché ...". Targeting solo x86 creerebbe un problema. – Richard

+0

@Richard: No, jsimas è corretto. Se si targetizza solo x86, l'app verrà eseguita su sistema operativo a 64 bit come processo a 32 bit (proprio come un exe x86 nativo in esecuzione su Windows 64 bit). Avrà praticamente lo stesso ambiente come se fosse eseguito su un sistema operativo a 32 bit. –

0

Finché non mescolare e piattaforme di libreria match, andrà tutto bene. Scegli come target x86 quando compilerai e dovresti essere bravo a farlo.

2

Secondo questo link: MSDN - Migrating 32-bit Managed Code to 64-bit.

Se si dispone di 100 tipo% di codice gestito sicuro allora davvero può solo copiarlo alla piattaforma a 64-bit ed eseguirlo con successo sotto il CLR a 64 bit. Oggetti

  • Invocare API piattaforma tramite P/Invoke
  • Invocare COM
  • Facendo uso di codice non sicuro
  • Utilizzando marshalling come un meccanismo:

    Ma se si sta utilizzando una delle seguenti caratteristiche per condividere informazioni

  • Utilizzo della serializzazione come modalità di stato permanente

indica che l'applicazione potrebbe non essere completamente compatibile.