Freigeben über


-target (Visual Basic)

Gibt das Format der Compilerausgabe an.

Syntax

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

Bemerkungen

In der folgenden Tabelle wird die Auswirkung der -target Option zusammengefasst.

Auswahl Verhalten
-target:exe Bewirkt, dass der Compiler eine ausführbare Konsolenanwendung erstellt.

Dies ist die Standardoption, wenn keine -target Option angegeben wird. Die ausführbare Datei wird mit einer .exe Erweiterung erstellt.

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

In den Quellcodedateien, die in einer .exe Datei kompiliert werden, ist nur eine Sub Main Prozedur erforderlich. 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) erstellt.

Die Dynamic Link Library-Datei wird mit einer .dll Erweiterung erstellt.

Sofern nicht mit der -out Option anders angegeben, verwendet der Name der Ausgabedatei den Namen der ersten Eingabedatei.

Beim Erstellen einer DLL 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.

Die .NET Common Language Runtime kann keine Datei laden, die nicht über eine Assembly verfügt. Sie können eine solche Datei jedoch mithilfe der Verwendung -referencein das Assemblymanifest einer Assembly integrieren.

Wenn Code in einem Modul auf interne Typen in einem anderen Modul verweist, müssen beide Module mithilfe -referencevon Verwendung in ein Assemblymanifest integriert 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 einer .exe Erweiterung erstellt. Eine Windows-basierte Anwendung ist eine Anwendung, die eine Benutzeroberfläche aus der .NET Framework-Klassenbibliothek oder mit den Windows-APIs bereitstellt.

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

In den Quellcodedateien, die in einer .exe Datei kompiliert werden, ist nur eine Sub Main Prozedur erforderlich. In Fällen, in denen ihr Code mehrere Klassen mit einer Sub Main Prozedur aufweist, verwenden Sie 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 wurde für Windows 8.x Store-Anwendungen verwendet.

Die Einstellung "appcontainerexe " legt ein bit im Feld "Merkmale" der portablen ausführbaren Datei fest. 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-target:winexe.

Die ausführbare Datei wird mit einer .exe Erweiterung erstellt.

Sofern Sie die Option nicht anders -out angeben, verwendet der Ausgabedateiname den Namen der Eingabedatei, die die Sub Main Prozedur enthält.

In den Quellcodedateien, die in einer .exe Datei kompiliert werden, ist nur eine Sub Main Prozedur erforderlich. Wenn Ihr Code mehrere Klassen mit einer Sub Main Prozedur enthält, verwenden Sie die -main Compileroption, um anzugeben, welche Klasse die Sub Main Prozedur enthält.
-target:winmdobj Bewirkt, dass der Compiler eine Zwischendatei erstellt, die Sie in eine Binärdatei (WINMD) für Windows-Runtime konvertieren können. Die WINMD-Datei kann von JavaScript- und C++-Programmen zusätzlich zu verwalteten Sprachprogrammen genutzt werden.

Die Zwischendatei wird mit der Erweiterung ".winmdobj" erstellt.

Sofern Sie die Option nicht anderweitig -out angeben, verwendet der Ausgabedateiname 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 wird, um eine Windows-Metadatendatei (WinMD) zu erstellen. Die WinMD-Datei hat eine WINMD-Erweiterung und enthält sowohl den Code aus der ursprünglichen Bibliothek als auch die WinMD-Definitionen, die JavaScript, C++ und die Windows-Runtime verwenden.

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

Jede Instanz von Vbc.exe erzeugt höchstens eine Ausgabedatei. Wenn Sie eine Compileroption wie -out z. B. mehrere -target Mal angeben, wird der letzte Compilerprozess wirksam. Informationen zu allen Dateien in einer Kompilierung werden dem Manifest hinzugefügt. Alle Ausgabedateien außer denen, die mit -target:module Assemblymetadaten im Manifest erstellt wurden. Verwenden Sie Ildasm.exe (IL Disassembler), um die Metadaten in einer Ausgabedatei anzuzeigen.

Die kurze Form von -target ist -t.

So legen Sie -target in der Visual Studio-IDE fest

  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, erstellen in.dll:

vbc -target:library in.vb

Siehe auch