-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
Ein Projekt auswählen in Projektmappen-Explorer. Klicken Sie im Menü Projekt auf Eigenschaften.
Klicken Sie auf die Registerkarte Anwendung .
Ändern Sie den Wert im Feld Anwendungstyp.
Beispiel
Der folgende Code kompiliert in.vb
, wobei in.dll
erstellt wird:
vbc -target:library in.vb