Formazione
Modulo
Scegliere il tipo di dati corretto nel codice C# - Training
Scegli il tipo di dati corretto per il codice da diversi tipi di base usati in C#.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Quando si compila un'applicazione, è possibile specificare che deve essere eseguita in un sistema operativo Windows a 64 bit come applicazione nativa o in WOW64 (Windows a 32 bit in Windows a 64 bit). WOW64 è un ambiente di compatibilità che consente di eseguire in un sistema a 64 bit un'applicazione a 32 bit. WOW64 è incluso in tutte le versioni a 64 bit del sistema operativo Windows.
Le applicazioni a 32 bit basate su .NET Framework 4 o versioni successive vengono eseguite in WOW64 nei sistemi a 64 bit.
Visual Studio installa la versione a 32 bit di CLR in un computer x86 e sia la versione a 32 bit che la versione a 64 bit appropriata di CLR in un computer Windows a 64 bit. Poiché Visual Studio è un'applicazione a 32 bit, quando viene installato in un sistema a 64 bit, viene eseguito in WOW64.
Nota
Data la progettazione dell'emulazione x86 e del sottosistema WOW64 per la famiglia di processori Itanium, l'esecuzione delle applicazioni è limitata a un solo processore. Questi fattori riducono le prestazioni e la scalabilità delle applicazioni .NET Framework a 32 bit eseguite in sistemi basati su Itanium. Si consiglia di usare .NET Framework 4, che include il supporto a 64 bit nativo per sistemi basati su Itanium, per migliorare le prestazioni e la scalabilità.
Per impostazione predefinita, quando si esegue un'applicazione gestita a 64 bit in un sistema operativo Windows a 64 bit, non è possibile creare oggetti di più di 2 gigabyte (GB). Tuttavia, in .NET Framework 4.5 è possibile aumentare questo limite. Per altre informazioni, vedere l'elemento <gcAllowVeryLargeObjects>.
Molti assembly vengono eseguiti allo stesso modo sia su CLR a 32 bit che su CLR a 64 bit. Tuttavia, alcuni programmi possono comportarsi in modo diverso, a seconda della versione di CLR, se contengono uno o più dei seguenti elementi:
Int32
anziché IntPtr
per gli handle.IntPtr
a Int32
.Per altre informazioni su come eseguire il trasferimento di un'applicazione a 32 bit in modo che funzioni in CLR a 64 bit, vedere Migrating 32-bit Managed Code to 64-bit (Migrazione del codice gestito da 32 bit a 64 bit).
Per informazioni generali sulla programmazione a 64 bit, vedere i seguenti documenti:
Nella documentazione di Windows SDK, vedere la sezione di guida alla programmazione per Windows a 64 bit.
Per informazioni sul supporto di Visual Studio per la creazione di applicazioni a 64 bit, vedere Supporto a 64 bit per IDE di Visual Studio.
Per impostazione predefinita, quando si usa .NET Framework per compilare un'applicazione in un computer a 32 bit o a 64 bit, l'applicazione verrà eseguita in un computer a 64 bit come applicazione nativa (ovvero, non in WOW64). La tabella seguente elenca i documenti che illustrano come usare i compilatori di Visual Studio per creare applicazioni a 64 bit che verranno eseguite come native, in WOW64 o in entrambi i modi.
Compilatore | Opzione del compilatore |
---|---|
Visual Basic | -platform (Visual Basic) |
Visual C# | -platform (opzioni del compilatore C#) |
Visual C++ | È possibile creare applicazioni CIL (Common Intermediate Language) indipendenti dalla piattaforma usando /clr:safe. Per altre informazioni, vedere -clr (Compilazione Common Language Runtime). Visual C++ include un compilatore separato per ogni sistema operativo a 64 bit. Per altre informazioni sull'uso di Visual C++ per creare applicazioni native eseguibili in un sistema operativo Windows a 64 bit, vedere Programmazione a 64 bit con Visual C++. |
Per determinare se un file EXE o un file DLL deve essere eseguito solo su una piattaforma specifica o in WOW64, usare CorFlags.exe (strumento di conversione CorFlags) senza opzioni. È anche possibile usare CorFlags.exe per modificare lo stato della piattaforma di un file EXE o di un file DLL. Il numero di versione del runtime principale dell'intestazione CLR di un assembly di Visual Studio è impostato su 2, mentre quello secondario è impostato su 5. Le applicazioni con la versione di runtime secondaria impostata su 0 sono considerate applicazioni legacy e vengono sempre eseguite in WOW64.
Per eseguire query a livello di codice di un file EXE o DLL per determinare se deve essere eseguito solo su una piattaforma specifica o in WOW64, usare il metodo Module.GetPEKind.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Formazione
Modulo
Scegliere il tipo di dati corretto nel codice C# - Training
Scegli il tipo di dati corretto per il codice da diversi tipi di base usati in C#.