-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

  1. No Gerenciador de Soluções, escolha o projeto, abra o menu Projeto e clique em Propriedades.

  2. 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  

Consulte também