-target (Visual Basic)

Especifica o formato da saída do compilador.

Sintaxe

-target:{exe | library | module | winexe | appcontainerexe | winmdobj}

Comentários

A tabela a seguir resume os efeitos da opção -target.

Opção Comportamento
-target:exe Faz com que o compilador crie um aplicativo executável do console.

Essa é a opção padrão quando nenhuma opção -target é especificada. O arquivo executável é criado com uma extensão .exe.

A menos que seja especificado de outra forma com a opção -out, o nome do arquivo de saída usará o nome do arquivo de entrada que contém o procedimento Sub Main.

Somente um procedimento Sub Main é necessário nos arquivos de código-fonte que são compilados em um arquivo .exe. Use a opção do compilador -main para especificar qual classe contém o procedimento Sub Main.
-target:library Faz com que o compilador crie uma DLL (biblioteca de vínculo dinâmico).

O arquivo de biblioteca de link dinâmico é criado com uma extensão .dll.

A menos que seja especificado de outra forma com a opção -out, o nome do arquivo de saída usa o nome do primeiro arquivo de entrada.

Ao compilar uma DLL, um procedimento Sub Main não é necessário.
-target:module Faz com que o compilador gere um módulo que pode ser adicionado a um assembly.

O arquivo de saída é criado com uma extensão .netmodule.

O common language runtime do .NET não pode carregar um arquivo que não tenha um assembly. No entanto, esse arquivo pode ser incorporado no manifesto do assembly de um assembly por meio de -reference.

Quando o código em um módulo referenciar tipos internos em outro módulo, os dois módulos deverão ser incorporados em um manifesto do assembly, por meio de -reference.

A opção -addmodule importa metadados de um módulo.
-target:winexe Faz com que o compilador crie um aplicativo executável baseado em Windows.

O arquivo executável é criado com uma extensão .exe. Um aplicativo baseado em Windows é aquele que fornece uma interface do usuário da biblioteca de classes .NET Framework ou com as APIs do Windows.

A menos que seja especificado de outra forma com a opção -out, o nome do arquivo de saída usará o nome do arquivo de entrada que contém o procedimento Sub Main.

Somente um procedimento Sub Main é necessário nos arquivos de código-fonte que são compilados em um arquivo .exe. Nos casos em que seu código tem mais de uma classe que tem um procedimento Sub Main, use a opção do compilador -main para especificar qual classe contém o procedimento Sub Main
-target:appcontainerexe Faz com que o compilador crie um aplicativo executável baseado em Windows que deve ser executado em um contêiner de aplicativo. Essa configuração foi projetada para ser usada para aplicativos Windows 8.x da Microsoft Store.

A configuração appcontainerexe define um bit no campo Características do arquivo Executável portátil. Esse bit indica que o aplicativo deve ser executado em um contêiner de aplicativo. Quando esse bit estiver definido, ocorrerá um erro se o método CreateProcess tentar inicializar o arquivo executável fora de um contêiner de aplicativos. Além dessa configuração de bit, -target:appcontainerexe é equivalente a -target:winexe.

O arquivo executável é criado com uma extensão .exe.

Salvo especificação de outra forma com a opção -out, o nome do arquivo de saída usará o nome do arquivo de entrada que contém o procedimento Sub Main.

Somente um procedimento Sub Main é necessário nos arquivos de código-fonte que são compilados em um arquivo .exe. Se o seu código tiver mais de uma classe que tem um procedimento Sub Main, use a opção do compilador -main para especificar qual classe contém o procedimento Sub Main
-target:winmdobj Faz com que o compilador crie um arquivo intermediário que você pode converter em um arquivo binário Windows Runtime (.winmd). O arquivo .winmd pode ser consumido por programas JavaScript e C++, bem como programas de linguagem gerenciada.

O arquivo intermediário é criado com uma extensão .winmdobj.

Salvo especificação de outra forma com a opção -out, o nome do arquivo de saída usará o nome do arquivo de entrada. Não é necessário um procedimento Sub Main.

O arquivo .winmdobj foi projetado para ser usado como entrada para a ferramenta de exportação WinMDExppara produzir um arquivo WinMD (metadados do Windows). O arquivo WinMD tem uma extensão .winmd e contém o código da biblioteca original e as definições do WinMD que JavaScript, C++ e o Windows Runtime usam.

A menos que você especifique -target:module, -target faz com que um manifesto do assembly .NET Framework seja colocado em um arquivo de saída.

Cada instância de Vbc.exe produz, no máximo, um arquivo de saída. Se você especificar uma opção de compilador, como -out ou -target mais de uma vez, a última processada pelo compilador será colocada em vigor. As informações sobre todos os arquivos em uma compilação são adicionadas ao manifesto. Todos os arquivos de saída, exceto os criados com -target:module podem conter metadados do assembly no manifesto. Use Ildasm.exe (IL Disassembler) para exibir os metadados em um arquivo de saída.

A forma abreviada de -target é -t.

Para definir -target no IDE do Visual Studio

  1. Selecione um projeto no Gerenciador de Soluções. No menu Projeto , clique em Propriedades.

  2. Clique na guia Aplicativo.

  3. Modifique o valor na caixa Tipo de aplicativo.

Exemplo

O código a seguir compila in.vb, criando in.dll:

vbc -target:library in.vb

Confira também