Condividi tramite


-platform (Visual Basic)

Specifica la versione della piattaforma di Common Language Runtime (CLR) che può eseguire il file di output.

Sintassi

-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }  

Argomenti

Termine Definizione
x86 Compila l'assembly da eseguire con CLR compatibile con x86 a 32 bit.
x64 Compila l'assembly da eseguire con CLR a 64 bit in un computer che supporta il set di istruzioni AMD64 o EM64T.
Itanium Compila l'assembly da eseguire da CLR a 64 bit in un computer con un processore Itanium.
arm Compila l'assembly da eseguire in un computer con un processore ARM (Advanced RISC Machine).
anycpu Compila l'assembly per l'esecuzione in qualsiasi piattaforma. L'applicazione verrà eseguita come applicazione a 32 bit in versioni a 32 bit di Windows e come applicazione a 64 bit nelle versioni a 64 bit di Windows. Questo flag è il valore predefinito.
anycpu32bitpreferred Compila l'assembly per l'esecuzione in qualsiasi piattaforma. L'applicazione verrà eseguita come applicazione a 32 bit nelle versioni a 32 bit e a 64 bit di Windows. Questo flag è valido solo per i file eseguibili (.EXE) e richiede .NET Framework 4.5.

Osservazioni:

Usare l'opzione -platform per specificare il tipo di processore di destinazione del file di output.

In generale, gli assembly di .NET Framework scritti in Visual Basic verranno eseguiti nello stesso modo indipendentemente dalla piattaforma. Tuttavia, esistono alcuni casi che si comportano in modo diverso su piattaforme diverse. Questi casi comuni sono:

  • Strutture che contengono membri che modificano le dimensioni a seconda della piattaforma, ad esempio qualsiasi tipo di puntatore.

  • Aritmetica del puntatore che include dimensioni costanti.

  • Dichiarazioni platform invoke o COM non corrette che utilizzano Integer per gestire anziché IntPtr.

  • Cast IntPtr in Integer.

  • Uso dell'interoperabilità platform invoke o COM con i componenti che non esistono in tutte le piattaforme.

L'opzione -platform mitiga alcuni problemi se si conoscono i presupposti sull'architettura in cui verrà eseguito il codice. In particolare:

  • Se si decide di impostare come destinazione una piattaforma a 64 bit e l'applicazione viene eseguita in un computer a 32 bit, il messaggio di errore viene visualizzato molto prima ed è più mirato al problema rispetto all'errore che si verifica senza usare questa opzione.

  • Se si imposta il x86 flag sull'opzione e l'applicazione viene eseguita successivamente in un computer a 64 bit, l'applicazione verrà eseguita nel sottosistema WOW invece di eseguire in modo nativo.

In un sistema operativo Windows a 64 bit:

  • Gli assembly compilati con -platform:x86 verranno eseguiti in CLR a 32 bit in esecuzione in WOW64.

  • Gli eseguibili compilati con -platform:anycpu verranno eseguiti in CLR a 64 bit.

  • Una DLL compilata con verrà -platform:anycpu eseguita sullo stesso CLR del processo in cui è stato caricato.

  • I file eseguibili compilati con -platform:anycpu32bitpreferred verranno eseguiti in CLR a 32 bit.

Per altre informazioni su come sviluppare un'applicazione da eseguire in una versione a 64 bit di Windows, vedere Applicazioni a 64 bit.

Per impostare -platform nell'IDE di Visual Studio

  1. In Esplora soluzioni scegliere il progetto, aprire il menu Progetto e quindi fare clic su Proprietà.

  2. Nella scheda Compila selezionare o deselezionare la casella di controllo Preferi 32 bit oppure, nell'elenco CPU di destinazione, scegliere un valore.

    Per altre informazioni, vedere Pagina di compilazione, Progettazione progetti (Visual Basic).For more information, see Compile Page, Project Designer (Visual Basic).

Esempio

Nell'esempio seguente viene illustrato come usare l'opzione del -platform compilatore.

vbc -platform:x86 myFile.vb  

Vedere anche