-Target (Visual Basic)-target (Visual Basic)

Especifica el formato de los resultados del compilador.Specifies the format of compiler output.

SintaxisSyntax

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

ComentariosRemarks

En la tabla siguiente se resume el efecto de la opción -target.The following table summarizes the effect of the -target option.

OpciónOption ComportamientoBehavior
-target:exe Hace que el compilador cree una aplicación de consola ejecutable.Causes the compiler to create an executable console application.

Esta es la opción predeterminada cuando no se especifica ninguna opción de -target.This is the default option when no -target option is specified. El archivo ejecutable se crea con una extensión. exe.The executable file is created with an .exe extension.

A menos que se especifique lo contrario con la opción /out, el nombre del archivo de salida toma el nombre del archivo de entrada que contiene el procedimiento Sub Main.Unless otherwise specified with the /out option, the output file name takes the name of the input file that contains the Sub Main procedure.

Solo se requiere un procedimiento Sub Main en los archivos de código fuente que se compilan en un archivo. exe.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Use la opción del compilador -main para especificar qué clase contiene el procedimiento de Sub Main.Use the -main compiler option to specify which class contains the Sub Main procedure.
-target:library Hace que el compilador cree una biblioteca de vínculos dinámicos (DLL).Causes the compiler to create a dynamic-link library (DLL).

El archivo de biblioteca de vínculos dinámicos se crea con una extensión. dll.The dynamic-link library file is created with a .dll extension.

A menos que se especifique lo contrario con la opción -out, el nombre del archivo de salida toma el nombre del primer archivo de entrada.Unless otherwise specified with the -out option, the output file name takes the name of the first input file.

Al compilar un archivo DLL, no es necesario un procedimiento Sub Main.When building a DLL, a Sub Main procedure is not required.
-target:module Hace que el compilador genere un módulo que se puede Agregar a un ensamblado.Causes the compiler to generate a module that can be added to an assembly.

El archivo de salida se crea con una extensión de. netmodule.The output file is created with an extension of .netmodule.

.NET Common Language Runtime no puede cargar un archivo que no tiene un ensamblado.The .NET common language runtime cannot load a file that does not have an assembly. Sin embargo, puede incorporar este tipo de archivo en el manifiesto del ensamblado de un ensamblado mediante -reference.However, you can incorporate such a file into the assembly manifest of an assembly by using -reference.

Cuando el código de un módulo hace referencia a tipos internos en otro módulo, ambos módulos deben incorporarse en un manifiesto de ensamblado mediante -reference.When code in one module references internal types in another module, both modules must be incorporated into an assembly manifest by using -reference.

La opción -AddModule importa los metadatos de un módulo.The -addmodule option imports metadata from a module.
-target:winexe Hace que el compilador cree una aplicación ejecutable basada en Windows.Causes the compiler to create an executable Windows-based application.

El archivo ejecutable se crea con una extensión. exe.The executable file is created with an .exe extension. Una aplicación basada en Windows es aquella que proporciona una interfaz de usuario de la biblioteca de clases de .NET Framework o con las API de Windows.A Windows-based application is one that provides a user interface from either the .NET Framework class library or with the Windows APIs.

A menos que se especifique lo contrario con la opción -out, el nombre del archivo de salida toma el nombre del archivo de entrada que contiene el procedimiento Sub Main.Unless otherwise specified with the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

Solo se requiere un procedimiento Sub Main en los archivos de código fuente que se compilan en un archivo. exe.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. En los casos en los que el código tenga más de una clase que tenga un procedimiento Sub Main, use la opción del compilador -main para especificar qué clase contiene el procedimiento Sub MainIn cases where your code has more than one class that has a Sub Main procedure, use the -main compiler option to specify which class contains the Sub Main procedure
-target:appcontainerexe Hace que el compilador cree una aplicación ejecutable basada en Windows que se debe ejecutar en un contenedor de la aplicación.Causes the compiler to create an executable Windows-based application that must be run in an app container. Esta opción está diseñada para usarse para aplicaciones Tienda Windows 8.xWindows 8.x Store.This setting is designed to be used for Tienda Windows 8.xWindows 8.x Store applications.

El valor appcontainerexe establece un bit en el campo características del archivo ejecutable portable .The appcontainerexe setting sets a bit in the Characteristics field of the Portable Executable file. Este bit indica que la aplicación se debe ejecutar en un contenedor de la aplicación.This bit indicates that the app must be run in an app container. Cuando se establece este bit, se produce un error si el método CreateProcess intenta iniciar la aplicación fuera de un contenedor de la aplicación.When this bit is set, an error occurs if the CreateProcess method tries to launch the application outside of an app container. Además de esta configuración de bits, -target: appcontainerexe es equivalente a -target: winexe.Aside from this bit setting, -target:appcontainerexe is equivalent to -target:winexe.

El archivo ejecutable se crea con una extensión. exe.The executable file is created with an .exe extension.

A menos que especifique lo contrario con la opción -out, el nombre del archivo de salida toma el nombre del archivo de entrada que contiene el procedimiento Sub Main.Unless you specify otherwise by using the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

Solo se requiere un procedimiento Sub Main en los archivos de código fuente que se compilan en un archivo. exe.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Si el código contiene más de una clase que tiene un procedimiento Sub Main, use la opción del compilador -main para especificar qué clase contiene el procedimiento Sub MainIf your code contains more than one class that has a Sub Main procedure, use the -main compiler option to specify which class contains the Sub Main procedure
-target:winmdobj Hace que el compilador cree un archivo intermedio que se puede convertir en un archivo binario de Windows Runtime (. winmd).Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file. El archivo. winmd lo pueden usar JavaScript y C++ programas, además de los programas de lenguaje administrados.The .winmd file can be consumed by JavaScript and C++ programs, in addition to managed language programs.

El archivo intermedio se crea con una extensión. winmdobj.The intermediate file is created with a .winmdobj extension.

A menos que especifique lo contrario con la opción -out, el nombre del archivo de salida toma el nombre del primer archivo de entrada.Unless you specify otherwise by using the -out option, the output file name takes the name of the first input file. No es necesario un procedimiento Sub Main.A Sub Main procedure isn’t required.

El archivo. winmdobj está diseñado para usarse como entrada de la herramienta de exportación de WinMDExp para generar un archivo de metadatos de Windows (WinMD).The .winmdobj file is designed to be used as input for the WinMDExp export tool to produce a Windows metadata (WinMD) file. El archivo WinMD tiene una extensión. WinMD y contiene el código de la biblioteca original y las definiciones de WinMD que usan JavaScript C++, y el Windows Runtime usar.The WinMD file has a .winmd extension and contains both the code from the original library and the WinMD definitions that JavaScript, C++, and the Windows Runtime use.

A menos que especifique -target:module, -target hace que se agregue un manifiesto de ensamblado .NET Framework a un archivo de salida.Unless you specify -target:module, -target causes a .NET Framework assembly manifest to be added to an output file.

Cada instancia de VBC. exe genera, como máximo, un archivo de salida.Each instance of Vbc.exe produces, at most, one output file. Si especifica una opción del compilador como -out o -target más de una vez, se aplicará la última que procese el compilador.If you specify a compiler option such as -out or -target more than one time, the last one the compiler processes is put into effect. La información sobre todos los archivos de una compilación se agrega al manifiesto.Information about all files in a compilation is added to the manifest. Todos los archivos de salida, excepto los creados con -target:module, contienen metadatos de ensamblado en el manifiesto.All output files except those created with -target:module contain assembly metadata in the manifest. Use Ildasm. exe (desensamblador de IL) para ver los metadatos de un archivo de salida.Use Ildasm.exe (IL Disassembler) to view the metadata in an output file.

La forma abreviada de -target es -t.The short form of -target is -t.

Para establecer-target en el IDE de Visual StudioTo set -target in the Visual Studio IDE

  1. Seleccione un proyecto en el Explorador de soluciones.Have a project selected in Solution Explorer. En el menú Proyecto, haga clic en Propiedades.On the Project menu, click Properties.

  2. Haga clic en la pestaña Aplicación .Click the Application tab.

  3. Modifique el valor en el cuadro tipo de aplicación .Modify the value in the Application Type box.

EjemploExample

El código siguiente compila in.vb, creando in.dll:The following code compiles in.vb, creating in.dll:

vbc -target:library in.vb

Vea tambiénSee also