-platform (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 o assembly para ser executado pelo CLR compatível com x86, de 32 bits.
x64 Compila o assembly para ser executado pelo CLR de 64 bits em um computador que oferece suporte ao conjunto de instruções de AMD64 ou EM64T.
Itanium Compila o assembly para ser executado pelo CLR de 64 bits em um computador com um processador Itanium.
arm Compila o assembly para ser executado em um computador com um processador ARM (Advanced RISC Machine).
anycpu Compila o 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 o assembly para ser executado em qualquer plataforma. O aplicativo será executado como um aplicativo de 32 bits em versões de 32 bits e 64 bits do Windows. Esse sinalizador é válido somente para executáveis (.EXE) e requer .NET Framework 4.5.

Comentários

Use a opção -platform para especificar o tipo de processador direcionada pelo arquivo de saída.

Em geral, os assemblies do .NET Framework gravados no Visual Basic serão executados da mesma maneira, independentemente da plataforma. No entanto, existem alguns casos em que se comportam de formas diferentes em plataformas distintas. Esses casos comuns são:

  • Estruturas que contêm membros que alteram o tamanho de acordo com a plataforma, como qualquer tipo de ponteiro.

  • Aritmética de ponteiro que inclui tamanhos constantes.

  • As declarações COM ou de invocação de plataforma incorreta que usam Integer para identificadores em vez de IntPtr.

  • Convertendo IntPtr para Integer.

  • Usando a invocação de plataforma ou a interoperabilidade COM com os componentes que não existem em todas as plataformas.

A opção -platform reduzirá alguns problemas se você souber que fez suposições sobre a arquitetura na qual seu código será executado. Especificamente:

  • Se decidir atingir 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 comutador.

  • Se você definir o sinalizador x86 na opção e, em seguida, o aplicativo for executado em uma máquina de 64 bits, o aplicativo será executado no subsistema WOW em vez de ser executado nativamente.

Em um sistema operacional do Windows de 64 bits:

  • Assemblies compilados com -platform:x86 serão executados no CLR de 32 bits em execução no WOW64.

  • Executáveis compilados com o -platform:anycpu serão executados no CLR de 64 bits.

  • Uma DLL compilada com o -platform:anycpu será executada no mesmo CLR que o processo no qual foi carregado.

  • 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, confira 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, em seguida, 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, confira Página Compilar, Designer de Projeto (Visual Basic).

Exemplo

O exemplo a seguir mostra como usar a opção do compilador -platform.

vbc -platform:x86 myFile.vb  

Confira também