-target (Visual Basic)

Gibt das Format der Compilerausgabe an.

Syntax

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

Hinweise

In der folgenden Tabelle werden die Auswirkungen der Option -target zusammengefasst:

Option Behavior class (Behavior-Klasse)
-target:exe Bewirkt, dass der Compiler eine ausführbare Konsolenanwendung erstellt.

Dabei handelt es sich um die Standardoption, wenn keine -target-Option angegeben wurde. Die ausführbare Datei wird mit der Dateiendung „.exe“ erstellt.

Sofern es nicht anders mit der Option -out angegeben wurde, erhält die Ausgabedatei den Namen der Eingabedatei, die die Sub Main-Prozedur enthält.

Nur eine Sub Main-Prozedur wird in den Quellcodedateien benötigt, die in eine EXE-Datei kompiliert werden. Verwenden Sie die -main-Compileroption, um anzugeben, welche Klasse die Sub Main-Prozedur enthält.
-target:library Bewirkt, dass der Compiler eine Dynamic Link Library (DLL-Datei) erstellt.

Die Dynamic Link Library-Datei wird mit der Erweiterung „.dll“ erstellt.

Sofern es nicht anders mit der Option -out angegeben wurde, erhält die Ausgabedatei den Namen der ersten Eingabedatei.

Beim Generieren einer DLL-Datei ist keine Sub Main-Prozedur erforderlich.
-target:module Bewirkt, dass der Compiler ein Modul generiert, das einer Assembly hinzugefügt werden kann.

Die Ausgabedatei wird mit der Erweiterung „.netmodule“ erstellt.

Der .NET-CLR (Common Language Runtime) kann keine Datei laden, die keine Assembly enthält. Sie können eine solche Datei jedoch mit -reference in das Assemblymanifest einer Assembly einbinden.

Wenn der Code in einem Modul auf interne Typen in einem anderen Modul verweist, müssen beide Module mithilfe von -reference in ein Assemblymanifest aufgenommen werden.

Die Option -addmodule importiert Metadaten aus einem Modul.
-target:winexe Bewirkt, dass der Compiler eine ausführbare Windows-basierte Anwendung erstellt.

Die ausführbare Datei wird mit der Dateiendung „.exe“ erstellt. Eine Windows-basierte Anwendung stellt eine Benutzeroberfläche über die .NET Framework-Bibliothek oder die Windows-APIs bereit.

Sofern es nicht anders mit der Option -out angegeben wurde, erhält die Ausgabedatei den Namen der Eingabedatei, die die Sub Main-Prozedur enthält.

Nur eine Sub Main-Prozedur wird in den Quellcodedateien benötigt, die in eine EXE-Datei kompiliert werden. 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.
-target:appcontainerexe Bewirkt, dass der Compiler eine ausführbare Windows-basierte Anwendung erstellt, die in einem App-Container ausgeführt werden muss. Diese Einstellung ist für die Verwendung in Windows 8.x Store-Anwendungen konzipiert.

Mit der appcontainerexe-Einstellung wird ein Bit im Eigenschaftenfeld der portierbaren ausführbaren Datei festgelegt. Dieses Bit gibt an, dass die App in einem App-Container ausgeführt werden muss. Wenn dieses Bit festgelegt ist, tritt ein Fehler auf, wenn die CreateProcess-Methode versucht, die Anwendung außerhalb eines App-Containers zu starten. Abgesehen von dieser Biteinstellung entspricht -target:appcontainerexe der Angabe -target:winexe.

Die ausführbare Datei wird mit der Dateiendung „.exe“ erstellt.

Sofern Sie nicht anderweitig mithilfe der -out-Option angeben, wird der Name der Eingabedatei, die die Sub Main-Prozedur enthält, als Name für die Ausgabedatei verwendet.

Nur eine Sub Main-Prozedur wird in den Quellcodedateien benötigt, die in eine EXE-Datei kompiliert werden. Wenn Ihr Code mehr als eine Klasse mit einer Sub Main-Prozedur aufweist, sollten Sie die -main-Compileroption verwenden, um anzugeben, welche Klasse die Sub Main-Prozedur enthält.
-target:winmdobj Bewirkt, dass der Compiler eine temporäre Datei erstellt, die Sie in eine Windows-Runtime-Binärdatei (.winmd) konvertieren können. Die WINMD-Datei kann von verwalteten Sprachprogrammen und von JavaScript- und C++-Programmen verwendet werden.

Die temporäre Datei wird mit der Erweiterung „.winmdobj“ erstellt.

Sofern Sie nicht anderweitig mithilfe der -out-Option angeben, erhält die Ausgabedatei den Namen der ersten Eingabedatei. Eine Sub Main-Prozedur ist nicht erforderlich.

Die WINMDOBJ-Datei ist so konzipiert, dass sie als Eingabe für das WinMDExp-Exporttool verwendet werden kann, um eine Windows-Metadatendatei (WINMD-Datei) zu erzeugen. Die WINMD-Datei hat die Erweiterung „.winmd“ und enthält sowohl den Code aus der ursprünglichen Bibliothek als auch die WINMD-Definitionen für JavaScript, C++ und die Windows-Runtime.

Wenn Sie -target:module nicht angegeben haben, wird durch -target ein .NET Framework-Assemblymanifest zu einer Ausgabedatei hinzugefügt.

Jede Instanz von „Vbc.exe“ erzeugt höchstens eine Ausgabedatei. Wenn Sie eine Compileroption wie -out oder -target mehrmals angeben, gilt diejenige, die zuletzt vom Compiler verarbeitet wird. Informationen zu allen Dateien in einer Kompilierung werden dem Manifest hinzugefügt. Alle Ausgabedateien außer denen, die mit -target:module erstellt wurden, enthalten Assemblymetadaten im Manifest. Verwenden Sie „Ildasm.exe“ (IL Disassembler), um die Metadaten in einer Ausgabedatei anzuzeigen.

Die Kurzform von -target ist -t.

Festlegen von -target in der Visual Studio-IDE

  1. Ein Projekt auswählen in Projektmappen-Explorer. Klicken Sie im Menü Projekt auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Anwendung .

  3. Ändern Sie den Wert im Feld Anwendungstyp.

Beispiel

Der folgende Code kompiliert in.vb, wobei in.dll erstellt wird:

vbc -target:library in.vb

Siehe auch