-addmodule
Bewirkt, dass der Compiler dem Projekt, das Sie aktuell kompilieren, sämtliche Typinformationen aus den angegebenen Dateien bereitstellt.
Syntax
-addmodule:fileList
Argumente
fileList
Erforderlich. Eine durch Trennzeichen getrennte Liste mit Dateien, die Metadaten enthalten, jedoch keine Assemblymanifeste. Dateinamen, die Leerzeichen enthalten, müssen in Anführungszeichen ("") eingeschlossen werden.
Hinweise
Die durch den fileList
-Parameter aufgelisteten Dateien müssen mit der Option -target:module
oder einer entsprechenden Option eines anderen Compilers erstellt werden.
Alle mit -addmodule
hinzugefügten Module müssen sich zur Laufzeit im selben Verzeichnis wie die Ausgabedatei befinden. Das bedeutet, dass Sie zur Kompilierzeit ein Modul in einem beliebigen Verzeichnis angeben können, sich das Modul zur Laufzeit jedoch im Anwendungsverzeichnis befinden muss. Andernfalls wird ein TypeLoadException-Fehler angezeigt.
Wenn Sie mit -addmodule
(implizit oder explizit) eine andere -target (Visual Basic)-Option als -target:module
angeben, werden die Dateien, die Sie an -addmodule
übergeben, Teil der Assembly des Projekts. Eine Assembly ist zum Ausführen einer Ausgabedatei erforderlich, die mindestens eine mit -addmodule
hinzugefügte Datei enthält.
Verwenden Sie zum Importieren von Metadaten aus einer Datei, die eine Assembly enthält, die Option -reference (Visual Basic).
Hinweis
Die Option -addmodule
steht nicht in der Visual Studio-Entwicklungsumgebung zur Verfügung. Sie ist nur verfügbar, wenn Sie über die Befehlszeile kompilieren.
Beispiel
Mit dem folgenden Code wird ein Modul erstellt:
' t1.vb
' Compile with vbc /target:module t1.vb.
' Outputs t1.netmodule.
Public Class TestClass
Public i As Integer
End Class
Mit dem folgenden Code werden die Modultypen importiert:
' t2.vb
' Compile with vbc /addmodule:t1.netmodule t2.vb.
Option Strict Off
Namespace NetmoduleTest
Module Module1
Sub Main()
Dim x As TestClass
x = New TestClass
x.i = 802
System.Console.WriteLine(x.i)
End Sub
End Module
End Namespace
Wenn Sie t1
ausführen, wird 802
ausgegeben.