Share via


-addmodule

Zorgt ervoor dat de compiler alle typegegevens van de opgegeven bestanden beschikbaar maakt voor het project dat u momenteel samenvoegt.

Syntaxis

-addmodule:fileList  

Argumenten

fileList
Vereist. Door komma's gescheiden lijst met bestanden die metagegevens bevatten, maar geen assemblymanifesten bevatten. Bestandsnamen die spaties bevatten, moeten tussen aanhalingstekens (" ") worden geplaatst.

Opmerkingen

De bestanden die door de fileList parameter worden vermeld, moeten worden gemaakt met de -target:module optie of met een equivalent van -target:moduleeen andere compiler.

Alle modules die zijn toegevoegd, -addmodule moeten zich in dezelfde map bevinden als het uitvoerbestand tijdens runtime. Dat wil gezegd, u kunt een module opgeven in elke map tijdens het compileren, maar de module moet zich in de toepassingsmap bevinden tijdens runtime. Als dit niet het probleem is, krijgt u een TypeLoadException foutmelding.

Als u (impliciet of expliciet) een optie voor een doel (Visual Basic) opgeeft, worden -target:module-addmodulede bestanden die u doorgeeft als -addmodule onderdeel van de assembly van het project. Een assembly is vereist voor het uitvoeren van een uitvoerbestand met een of meer bestanden die zijn toegevoegd met -addmodule.

Gebruik -reference (Visual Basic) om metagegevens te importeren uit een bestand dat een assembly bevat.

Notitie

De optie is niet beschikbaar vanuit de Ontwikkelomgeving van Visual Studio. Deze -addmodule optie is alleen beschikbaar bij het compileren vanaf de opdrachtregel.

Opmerking

Met de volgende code wordt een module gemaakt.

' t1.vb
' Compile with vbc /target:module t1.vb.
' Outputs t1.netmodule.

Public Class TestClass
    Public i As Integer
End Class

Met de volgende code worden de typen van de module geïmporteerd.

' 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

Wanneer u deze uitvoert t1, wordt het uitgevoerd 802.

Zie ook