/platform (Visual Basic)
Consente di specificare la versione di Common Language Runtime (CLR) in grado di eseguire il file di output.
/platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Argomenti
Termine |
Definizione |
x86 |
Compila l'assembly in modo da essere eseguito da CLR a 32 bit, compatibile con x86. |
x64 |
Compila l'assembly l'assemby in modo da essere eseguito da CLR a 64 bit su un computer che supporta il set di istruzioni AMD64 o EM64T. |
Itanium |
Compila l'assembly in modo da essere eseguito da CLR a 64 bit su un computer dotato di processore Itanium. |
arm |
Compila l'assembly in modo da essere eseguito su un computer con processore ARM (Advanced RISC Machine). |
anycpu |
Compila l'assembly in modo da essere eseguito su qualsiasi piattaforma. L'applicazione verrà eseguita come applicazione a 32 bit su versioni di Windows a 32 bit e come applicazione a 64 bit su versioni di Windows a 64 bit. Questo flag è il valore predefinito. |
anycpu32bitpreferred |
Compila l'assembly in modo da essere eseguito su qualsiasi piattaforma. L'applicazione verrà eseguita come applicazione a 32 bit sia nelle versioni di Windows a 32 bit che in quelle a 64 bit. Questo flag è valido solo per i file eseguibili (EXE) e richiede .NET Framework 4.5. |
Note
Per specificare il tipo di processore di destinazione del file di output, usare l'opzione /platform.
In genere, gli assembly .NET Framework scritti in Visual Basic vengono sempre eseguiti, indipendentemente dalla piattaforma. L'elaborazione di alcuni elementi può tuttavia risultare influenzata dalla piattaforma in uso. I casi più comuni sono:
Strutture contenenti membri che cambiano dimensione in base alla piattaforma, ad esempio tutti i tipi puntatore.
Operazioni aritmetiche che includono dimensioni costanti.
Dichiarazioni pInvoke o COM non corrette che usano Integer anziché IntPtr per gli handle.
Casting di IntPtr su Integer.
Uso dell'interoperabilità pInvoke o COM con componenti non disponibili in tutte le piattaforme.
Specificando l'opzione /platform sarà possibile limitare alcuni problemi, se si tengono presenti le premesse relative all'architettura su cui verrà eseguito il codice. In particolare:
Se si specifica l'opzione per una piattaforma a 64 bit e l'applicazione viene eseguita su un computer a 32 bit, il messaggio di errore verrà visualizzato con maggiore anticipo e sarà maggiormente descrittivo del problema specifico rispetto all'errore che si verifica senza usare questa opzione.
Se si imposta il flag x86 e successivamente si usa un computer a 64 bit per l'elaborazione dell'applicazione, questa verrà eseguita nel sottosistema WOW e non a livello nativo.
In un sistema operativo Windows a 64 bit:
Gli assembly compilati con l'opzione /platform:x86 potranno essere eseguiti da CLR a 32 bit in WOW64.
Gli eseguibili compilati con l'opzione /platform:anycpu potranno essere eseguiti da CLR a 64 bit.
Una DLL compilata con l'opzione /platform:anycpu potrà essere eseguita dallo stesso CLR del processo in cui viene caricata.
Gli eseguibili compilati con l'opzione /platform:anycpu32bitpreferred potranno essere eseguiti da CLR a 32 bit.
Per altre informazioni sullo sviluppo di un'applicazione eseguibile in un sistema operativo Windows a 64 bit, vedere Applicazioni a 64 bit.
Per impostare /platform nell'IDE di Visual Studio
Selezionare il progetto in Esplora soluzioni e scegliere Proprietà dal menu Progetto.
Per altre informazioni, vedere Introduction to the Project Designer.
Nella scheda Compila selezionare o deselezionare la casella di controllo Preferisci 32 bit oppure scegliere un valore nell'elenco CPU di destinazione.
Per altre informazioni, vedere Pagina Compilazione, Progettazione progetti (Visual Basic).
Esempio
L'esempio seguente mostra come usare l'opzione del compilatore /platform.
vbc /platform:x86 myFile.vb
Vedere anche
Riferimenti
Esempi di righe di comando di compilazione (Visual Basic)