Partager via


-addmodule

Fait en sorte que le compilateur rend toutes les informations de type du ou des fichiers spécifiés disponibles pour le projet que vous compilez actuellement.

Syntaxe

-addmodule:fileList  

Les arguments

fileList
Obligatoire. Liste délimitée par des virgules de fichiers qui contiennent des métadonnées, mais qui ne contiennent pas de manifestes d’assembly. Les noms de fichiers contenant des espaces doivent être entourés de guillemets ( » « ).

Remarques

Les fichiers répertoriés par le fileList paramètre doivent être créés avec l’option-target:module, ou avec l’équivalent d’un autre compilateur .-target:module

Tous les modules ajoutés -addmodule doivent se trouver dans le même répertoire que le fichier de sortie au moment de l’exécution. Autrement dit, vous pouvez spécifier un module dans n’importe quel répertoire au moment de la compilation, mais le module doit se trouver dans le répertoire de l’application au moment de l’exécution. Si ce n’est pas le cas, vous obtenez une TypeLoadException erreur.

Si vous spécifiez (implicitement ou explicitement) une option cible (Visual Basic) autre qu’avec -target:module-addmodule, les fichiers que vous passez pour -addmodule faire partie de l’assembly du projet. Un assembly est nécessaire pour exécuter un fichier de sortie avec lequel un ou plusieurs fichiers ont été ajoutés -addmodule.

Utilisez -reference (Visual Basic) pour importer des métadonnées à partir d’un fichier qui contient un assembly.

Remarque

L’option -addmodule n’est pas disponible à partir de l’environnement de développement Visual Studio ; elle est disponible uniquement lors de la compilation à partir de la ligne de commande.

Exemple :

Le code suivant crée un module.

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

Public Class TestClass
    Public i As Integer
End Class

Le code suivant importe les types du module.

' 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

Lorsque vous exécutez t1, il génère 802.

Voir aussi