Compartir vía


-addmodule

Hace que el compilador facilite al proyecto que se está compilando toda la información de tipos presente en los archivos especificados.

Sintaxis

-addmodule:fileList  

Argumentos

fileList
Obligatorio. Lista delimitada por comas de archivos que contienen metadatos, pero que no contienen manifiestos de ensamblado. Los nombres de archivo que contienen espacios deben ir entre comillas (" ").

Comentarios

Los archivos mostrados con el parámetro fileList se deben crear con la opción -target:module o con otro equivalente del compilador para -target:module.

Todos los módulos agregados con -addmodule deben encontrarse en el mismo directorio que el archivo de salida en tiempo de ejecución. Es decir, se puede especificar un módulo de cualquier directorio en el tiempo de compilación, pero el módulo debe encontrarse en el directorio de la aplicación en tiempo de ejecución. Si no es así, obtendrá un error TypeLoadException.

Si especifica (implícita o explícitamente) cualquier opción -target (Visual Basic) que no sea -target:module con -addmodule, los archivos que pase a -addmodule se convertirán en parte del ensamblado del proyecto. Se requiere un ensamblado para ejecutar un archivo de salida que tenga uno o más archivos agregados con -addmodule.

Use -reference (Visual Basic) para importar metadatos de un archivo que contenga un ensamblado.

Nota

La opción -addmodule no está disponible en el entorno de desarrollo de Visual Studio; solo está disponible cuando se compila desde la línea de comandos.

Ejemplo

En el código siguiente se crea un módulo.

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

Public Class TestClass
    Public i As Integer
End Class

En el código siguiente se importan los tipos del módulo.

' 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

Al ejecutar t1, genera 802.

Vea también