-plataforma (Visual Basic)
Especifica qual versão de plataforma do Common Language Runtime (CLR) pode executar o arquivo de saída.
Sintaxe
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Argumentos
Termo | Definição |
---|---|
x86 |
Compila seu assembly para ser executado pelo CLR de 32 bits compatível com x86. |
x64 |
Compila seu assembly para ser executado pelo CLR de 64 bits em um computador que suporta o conjunto de instruções AMD64 ou EM64T. |
Itanium |
Compila seu assembly para ser executado pelo CLR de 64 bits em um computador com um processador Itanium. |
arm |
Compila seu assembly para ser executado em um computador com um processador ARM (Advanced RISC Machine). |
anycpu |
Compila seu assembly para ser executado em qualquer plataforma. O aplicativo será executado como um aplicativo de 32 bits em versões de 32 bits do Windows e como um aplicativo de 64 bits em versões de 64 bits do Windows. Este sinalizador é o valor padrão. |
anycpu32bitpreferred |
Compila seu assembly para ser executado em qualquer plataforma. O aplicativo será executado como um aplicativo de 32 bits nas versões de 32 bits e 64 bits do Windows. Esse sinalizador é válido apenas para executáveis (.EXE) e requer o .NET Framework 4.5. |
Observações
Use a -platform
opção para especificar o tipo de processador visado pelo arquivo de saída.
Em geral, assemblies do .NET Framework escritos em Visual Basic serão executados da mesma forma, independentemente da plataforma. No entanto, existem alguns casos que se comportam de forma diferente em diferentes plataformas. Estes casos comuns são:
Estruturas que contêm membros que mudam de tamanho dependendo da plataforma, como qualquer tipo de ponteiro.
Aritmética de ponteiro que inclui tamanhos constantes.
Invocação de plataforma incorreta ou declarações COM que usam
Integer
para identificadores em vez de IntPtr.Fundição IntPtr para
Integer
.Usando invocar plataforma ou interoperabilidade COM com componentes que não existem em todas as plataformas.
A opção -platform atenuará alguns problemas se você souber que fez suposições sobre a arquitetura em que seu código será executado. Especificamente:
Se você decidir direcionar uma plataforma de 64 bits e o aplicativo for executado em uma máquina de 32 bits, a mensagem de erro vem muito mais cedo e é mais direcionada ao problema do que o erro que ocorre sem usar essa opção.
Se você definir o
x86
sinalizador na opção e o aplicativo for executado posteriormente em uma máquina de 64 bits, o aplicativo será executado no subsistema WOW em vez de ser executado nativamente.
Em um sistema operacional Windows de 64 bits:
Os assemblies compilados com
-platform:x86
serão executados no CLR de 32 bits em execução no WOW64.Os executáveis compilados com o
-platform:anycpu
serão executados no CLR de 64 bits.Uma DLL compilada com o
-platform:anycpu
será executado no mesmo CLR que o processo no qual ele foi carregado.Os executáveis compilados com
-platform:anycpu32bitpreferred
serão executados no CLR de 32 bits.
Para obter mais informações sobre como desenvolver um aplicativo para ser executado em uma versão de 64 bits do Windows, consulte Aplicativos de 64 bits.
Para definir -platform no IDE do Visual Studio
No Gerenciador de Soluções, escolha o projeto, abra o menu Projeto e clique em Propriedades.
Na guia Compilar, marque ou desmarque a caixa de seleção Preferir 32 bits ou, na lista CPU de destino, escolha um valor.
Para obter mais informações, consulte Página de compilação, Project Designer (Visual Basic).
Exemplo
O exemplo a seguir ilustra como usar a -platform
opção do compilador.
vbc -platform:x86 myFile.vb