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

Specifica il formato dell'output del compilatore.Specifies the format of compiler output.

SintassiSyntax

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

OsservazioniRemarks

Nella tabella seguente sono riepilogati gli effetti dell'opzione -target.The following table summarizes the effect of the -target option.

OpzioneOption Classe BehaviorBehavior
-target:exe Determina la creazione di un'applicazione console eseguibile da parte del compilatore.Causes the compiler to create an executable console application.

Questa è l'opzione predefinita se non è specificata alcuna opzione -target.This is the default option when no -target option is specified. Il file eseguibile viene creato con estensione exe.The executable file is created with an .exe extension.

Se non diversamente specificato con l'opzione /out, il nome del file di output prende il nome del file di input che contiene la procedura 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.

Nei file del codice sorgente compilati in un file con estensione exe è necessaria una sola procedura Sub Main.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Usare l'opzione del compilatore -main per specificare la classe che contiene la routine Sub Main.Use the -main compiler option to specify which class contains the Sub Main procedure.
-target:library Determina la creazione di una libreria di collegamento dinamico (DLL) da parte del compilatore.Causes the compiler to create a dynamic-link library (DLL).

Il file della libreria a collegamento dinamico viene creato con estensione dll.The dynamic-link library file is created with a .dll extension.

Se non diversamente specificato con l'opzione -out, il nome del file di output prende il nome del primo file di input.Unless otherwise specified with the -out option, the output file name takes the name of the first input file.

Quando si compila una DLL, non è necessaria una procedura Sub Main.When building a DLL, a Sub Main procedure is not required.
-target:module Fa in modo che il compilatore generi un modulo che può essere aggiunto a un assembly.Causes the compiler to generate a module that can be added to an assembly.

Il file di output viene creato con estensione. netmodule.The output file is created with an extension of .netmodule.

Il Common Language Runtime .NET non è in grado di caricare un file che non dispone di un assembly.The .NET common language runtime cannot load a file that does not have an assembly. Tuttavia, è possibile incorporare un file di questo tipo nel manifesto dell'assembly di un assembly utilizzando -reference.However, you can incorporate such a file into the assembly manifest of an assembly by using -reference.

Quando il codice in un modulo fa riferimento a tipi interni in un altro modulo, è necessario incorporare entrambi i moduli in un manifesto dell'assembly usando -reference.When code in one module references internal types in another module, both modules must be incorporated into an assembly manifest by using -reference.

L'opzione -addmodule importa i metadati da un modulo.The -addmodule option imports metadata from a module.
-target:winexe Fa in modo che il compilatore crei un'applicazione eseguibile basata su Windows.Causes the compiler to create an executable Windows-based application.

Il file eseguibile viene creato con estensione exe.The executable file is created with an .exe extension. Un'applicazione basata su Windows è una che fornisce un'interfaccia utente dalla libreria di classi .NET Framework o con le API di Windows.A Windows-based application is one that provides a user interface from either the .NET Framework class library or with the Windows APIs.

Se non diversamente specificato con l'opzione -out, il nome del file di output prende il nome del file di input che contiene la procedura 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.

Nei file del codice sorgente compilati in un file con estensione exe è necessaria una sola procedura Sub Main.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Nei casi in cui il codice ha più di una classe con una procedura Sub Main, usare l'opzione del compilatore -main per specificare la classe che contiene la routine 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 Fa in modo che il compilatore crei un'applicazione basata su Windows eseguibile che deve essere eseguita in un contenitore di app.Causes the compiler to create an executable Windows-based application that must be run in an app container. Questa impostazione è progettata per essere utilizzata per le applicazioni Windows 8. x Store.This setting is designed to be used for Windows 8.x Store applications.

L'impostazione appcontainerexe imposta un bit nel campo caratteristiche del file eseguibile portatile .The appcontainerexe setting sets a bit in the Characteristics field of the Portable Executable file. Questo bit indica che l'app deve essere eseguita in un contenitore di app.This bit indicates that the app must be run in an app container. Quando questo bit è impostato, si verifica un errore se il metodo CreateProcess tenta di avviare l'applicazione all'esterno di un contenitore di app.When this bit is set, an error occurs if the CreateProcess method tries to launch the application outside of an app container. A parte questa impostazione di bit, -target: appcontainerexe è equivalente a -target: winexe.Aside from this bit setting, -target:appcontainerexe is equivalent to -target:winexe.

Il file eseguibile viene creato con estensione exe.The executable file is created with an .exe extension.

A meno che non si specifichi diversamente utilizzando l'opzione -out, il nome del file di output prende il nome del file di input che contiene la procedura 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.

Nei file del codice sorgente compilati in un file con estensione exe è necessaria una sola procedura Sub Main.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Se il codice contiene più di una classe con una procedura Sub Main, utilizzare l'opzione del compilatore -main per specificare la classe che contiene la routine 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 Fa in modo che il compilatore crei un file intermedio che è possibile convertire in un file binario Windows Runtime (WinMD).Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file. Il file con estensione winmd può essere utilizzato da JavaScript C++ e programmi, oltre ai programmi di linguaggio gestito.The .winmd file can be consumed by JavaScript and C++ programs, in addition to managed language programs.

Il file intermedio viene creato con estensione winmdobj.The intermediate file is created with a .winmdobj extension.

A meno che non si specifichi diversamente utilizzando l'opzione -out, il nome del file di output assume il nome del primo file di input.Unless you specify otherwise by using the -out option, the output file name takes the name of the first input file. Non è necessaria una procedura di Sub Main.A Sub Main procedure isn’t required.

Il file con estensione winmdobj è progettato per essere utilizzato come input per lo strumento di esportazione WinMDExp per produrre un file di metadati di Windows (WinMD).The .winmdobj file is designed to be used as input for the WinMDExp export tool to produce a Windows metadata (WinMD) file. Il file WinMD ha un'estensione. winmd e contiene sia il codice della libreria originale che le definizioni WinMD usate da JavaScript, C++e dal Windows Runtime.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 meno che non si specifichi -target:module, -target fa in modo che un manifesto dell'assembly .NET Framework venga aggiunto a un file di output.Unless you specify -target:module, -target causes a .NET Framework assembly manifest to be added to an output file.

Ogni istanza di vbc. exe produce al massimo un file di output.Each instance of Vbc.exe produces, at most, one output file. Se si specifica un'opzione del compilatore, ad esempio -out o -target più di una volta, viene applicato l'ultimo processo del compilatore.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. Le informazioni su tutti i file in una compilazione vengono aggiunte al manifesto.Information about all files in a compilation is added to the manifest. Tutti i file di output, ad eccezione di quelli creati con -target:module contengono metadati dell'assembly nel manifesto.All output files except those created with -target:module contain assembly metadata in the manifest. Utilizzare Ildasm. exe (DISASSEMBLER il) per visualizzare i metadati in un file di output.Use Ildasm.exe (IL Disassembler) to view the metadata in an output file.

La forma breve di -target è -t.The short form of -target is -t.

Per impostare-target nell'IDE di Visual StudioTo set -target in the Visual Studio IDE

  1. Selezionare un progetto in Esplora soluzioni.Have a project selected in Solution Explorer. Scegliere Proprietà dal menu Progetto.On the Project menu, click Properties.

  2. Fare clic sulla scheda Applicazione .Click the Application tab.

  3. Modificare il valore nella casella tipo di applicazione .Modify the value in the Application Type box.

EsempioExample

Il codice seguente compila in.vb, creando in.dll:The following code compiles in.vb, creating in.dll:

vbc -target:library in.vb

Vedere ancheSee also