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

Gibt das Format der Compilerausgabe an.Specifies the format of compiler output.

SyntaxSyntax

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

HinweiseRemarks

In der folgenden Tabelle werden die Auswirkungen der Option -target zusammengefasst.The following table summarizes the effect of the -target option.

OptionOption Behavior-KlasseBehavior
-target:exe Bewirkt, dass der Compiler eine ausführbare Konsolenanwendung erstellt.Causes the compiler to create an executable console application.

Dies ist die Standardoption, wenn keine -target Option angegeben wird.This is the default option when no -target option is specified. Die ausführbare Datei wird mit der Erweiterung ". exe" erstellt.The executable file is created with an .exe extension.

Sofern nicht anders mit der Option -out angegeben, nimmt der Name der Ausgabedatei den Namen der Eingabedatei an, die das Sub Main Verfahren enthält.Unless otherwise specified with the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

In den Quell Code Dateien, die in eine exe-Datei kompiliert werden, ist nur ein Sub Main Prozedur erforderlich.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Verwenden Sie die -main-Compileroption, um anzugeben, welche Klasse die Sub Main Prozedur enthält.Use the -main compiler option to specify which class contains the Sub Main procedure.
-target:library Bewirkt, dass der Compiler eine Dynamic Link Library (dll) erstellt.Causes the compiler to create a dynamic-link library (DLL).

Die Dynamic Link Library-Datei wird mit der Erweiterung ". dll" erstellt.The dynamic-link library file is created with a .dll extension.

Sofern nicht anders mit der Option -out angegeben, nimmt der Name der Ausgabedatei den Namen der ersten Eingabedatei.Unless otherwise specified with the -out option, the output file name takes the name of the first input file.

Beim Aufbau einer dll ist eine Sub Main Prozedur nicht erforderlich.When building a DLL, a Sub Main procedure is not required.
-target:module Bewirkt, dass der Compiler ein Modul generiert, das einer Assembly hinzugefügt werden kann.Causes the compiler to generate a module that can be added to an assembly.

Die Ausgabedatei wird mit der Erweiterung ". netmodule" erstellt.The output file is created with an extension of .netmodule.

Der .NET-Common Language Runtime kann keine Datei laden, die keine Assembly enthält.The .NET common language runtime cannot load a file that does not have an assembly. Sie können eine solche Datei jedoch mit -referencein das Assemblymanifest einer Assembly einbinden.However, you can incorporate such a file into the assembly manifest of an assembly by using -reference.

Wenn Code in einem Modul auf interne Typen in einem anderen Modul verweist, müssen beide Module mithilfe von -referencein ein Assemblymanifest eingebunden werden.When code in one module references internal types in another module, both modules must be incorporated into an assembly manifest by using -reference.

Die Option -addmodule importiert Metadaten aus einem Modul.The -addmodule option imports metadata from a module.
-target:winexe Bewirkt, dass der Compiler eine ausführbare Windows-basierte Anwendung erstellt.Causes the compiler to create an executable Windows-based application.

Die ausführbare Datei wird mit der Erweiterung ". exe" erstellt.The executable file is created with an .exe extension. Eine Windows-basierte Anwendung ist eine, die eine Benutzeroberfläche entweder aus der .NET Framework-Klassenbibliothek oder mit den Windows-APIs bereitstellt.A Windows-based application is one that provides a user interface from either the .NET Framework class library or with the Windows APIs.

Sofern nicht anders mit der Option -out angegeben, nimmt der Name der Ausgabedatei den Namen der Eingabedatei an, die das Sub Main Verfahren enthält.Unless otherwise specified with the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

In den Quell Code Dateien, die in eine exe-Datei kompiliert werden, ist nur ein Sub Main Prozedur erforderlich.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Verwenden Sie in Fällen, in denen Ihr Code mehr als eine Klasse mit einer Sub Main Prozedur aufweist, die -main-Compileroption, um anzugeben, welche Klasse die Sub Main Prozedur enthält.In 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 Bewirkt, dass der Compiler eine ausführbare Windows-basierte Anwendung erstellt, die in einem App-Container ausgeführt werden muss.Causes the compiler to create an executable Windows-based application that must be run in an app container. Diese Einstellung ist für die Verwendung in Windows 8. x-Speicheranwendungen konzipiert.This setting is designed to be used for Windows 8.x Store applications.

Mit der Einstellung " appcontainerexe " wird ein Bit im Feld "Merkmale" der portablen ausführbaren Datei festgelegt.The appcontainerexe setting sets a bit in the Characteristics field of the Portable Executable file. Dieses Bit gibt an, dass die app in einem App-Container ausgeführt werden muss.This bit indicates that the app must be run in an app container. Wenn dieses Bit festgelegt ist, tritt ein Fehler auf, wenn die CreateProcess-Methode versucht, die Anwendung außerhalb eines App-Containers zu starten.When this bit is set, an error occurs if the CreateProcess method tries to launch the application outside of an app container. Abgesehen von dieser Biteinstellung entspricht -target: appcontainerexe dem -target: winexe.Aside from this bit setting, -target:appcontainerexe is equivalent to -target:winexe.

Die ausführbare Datei wird mit der Erweiterung ". exe" erstellt.The executable file is created with an .exe extension.

Sofern Sie nicht anderweitig mithilfe der -out-Option angeben, wird der Name der Eingabedatei, die die Sub Main Prozedur enthält, als Ausgabe Dateiname verwendet.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.

In den Quell Code Dateien, die in eine exe-Datei kompiliert werden, ist nur ein Sub Main Prozedur erforderlich.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. Wenn Ihr Code mehr als eine Klasse enthält, die über eine Sub Main Prozedur verfügt, verwenden Sie die -main-Compileroption, um anzugeben, welche Klasse die Sub Main Prozedur enthält.If 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 Bewirkt, dass der Compiler eine zwischen Datei erstellt, die Sie in eine Windows-Runtime binäre Datei (. winmd) konvertieren können.Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file. Die winmd-Datei kann neben den Programmen für verwaltete C++ Sprache auch von JavaScript und Programmen verwendet werden.The .winmd file can be consumed by JavaScript and C++ programs, in addition to managed language programs.

Die zwischen Datei wird mit der Erweiterung ". winmdobj" erstellt.The intermediate file is created with a .winmdobj extension.

Wenn Sie nicht anderweitig mithilfe der Option -out angeben, wird für den Namen der ersten Eingabedatei der Name der Ausgabedatei verwendet.Unless you specify otherwise by using the -out option, the output file name takes the name of the first input file. Eine Sub Main Prozedur ist nicht erforderlich.A Sub Main procedure isn’t required.

Die winmdobj-Datei ist so konzipiert, dass Sie als Eingabe für das WinMDExp Export-Tool verwendet wird, um eine Windows-Metadatendatei (winmd) zu entwickeln.The .winmdobj file is designed to be used as input for the WinMDExp export tool to produce a Windows metadata (WinMD) file. Die winmd-Datei hat die Erweiterung ". winmd" und enthält sowohl den Code aus der ursprünglichen Bibliothek als auch die winmd C++-Definitionen, die von JavaScript, und den Windows-Runtime verwendet werden.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.

Wenn Sie -target:modulenicht angeben, bewirkt -target, dass einer Ausgabedatei ein .NET Framework Assemblymanifest hinzugefügt wird.Unless you specify -target:module, -target causes a .NET Framework assembly manifest to be added to an output file.

Jede Instanz von "Vbc. exe" erzeugt höchstens eine Ausgabedatei.Each instance of Vbc.exe produces, at most, one output file. Wenn Sie eine Compileroption angeben, z. b. -out oder mehr als einmal -target, wird der letzte, der vom Compiler verarbeitet wird, in Kraft gesetzt.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. Informationen zu allen Dateien in einer Kompilierung werden dem Manifest hinzugefügt.Information about all files in a compilation is added to the manifest. Alle Ausgabedateien, mit Ausnahme derjenigen, die mit -target:module erstellt wurden, enthalten Assemblymetadaten im Manifest.All output files except those created with -target:module contain assembly metadata in the manifest. Verwenden Sie Ildasm. exe (IL-Disassembler) , um die Metadaten in einer Ausgabedatei anzuzeigen.Use Ildasm.exe (IL Disassembler) to view the metadata in an output file.

Die Kurzform von -target ist -t.The short form of -target is -t.

So legen Sie "-target" in der Visual Studio-IDE festTo set -target in the Visual Studio IDE

  1. Ein Projekt auswählen in Projektmappen-Explorer.Have a project selected in Solution Explorer. Klicken Sie im Menü Projekt auf Eigenschaften.On the Project menu, click Properties.

  2. Klicken Sie auf die Registerkarte Anwendung .Click the Application tab.

  3. Ändern Sie den Wert im Feld Anwendungstyp .Modify the value in the Application Type box.

BeispielExample

Der folgende Code kompiliert in.vb, wobei in.dllerstellt werden:The following code compiles in.vb, creating in.dll:

vbc -target:library in.vb

Siehe auchSee also