-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
。