-addmodule

使编译器让指定文件中的所有类型信息可供当前正在编译的项目使用。

语法

-addmodule:fileList  

自变量

fileList
必需。 包含元数据但不包含程序集清单的文件的逗号分隔列表。 包含空格的文件名称应括在引号 (" ") 中。

备注

fileList 参数列出的文件必须使用 -target:module 选项生成,或者使用其它编译器的 -target:module 等效项。

通过 -addmodule 添加的所有模块在运行时必须位于与输出文件相同的目录中。 也就是说,在编译时可在任何目录中指定模块,但在运行时该模块必须位于应用程序目录中。 若非如此,你会获得 TypeLoadException 错误。

若你使用 -addmodule 指定(隐式或显式)除 -target:module 之外的任何 -target (Visual Basic) 选项,传递给 -addmodule 的文件会成为该项目的程序集的一部分。 必须具有程序集,才能运行包含一个或多个由 -addmodule 添加的文件的输出文件。

使用 -reference (Visual Basic) 从包含程序集的文件导入元数据。

注意

-addmodule 选项在 Visual Studio 开发环境内无法使用;仅当从命令行编译时才可用。

示例

下面的代码创建模块。

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

Public Class TestClass
    Public i As Integer
End Class

下面的代码导入模块的类型。

' 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

运行 t1 时,它会输出 802

请参阅