-addmodule
指定ファイル内のすべての型情報を現在のコンパイル対象のプロジェクトで使用できるようにします。
構文
-addmodule:fileList
引数
fileList
必須です。 メタデータは含まれるが、アセンブリ マニフェストは含まれないファイルのコンマ区切りのリスト。 ファイル名に空白が含まれる場合は、名前を二重引用符 ("") で囲みます。
Remarks
fileList
パラメーターで指定するファイルは、-target:module
オプションを使用して作成するか、-target:module
と同等の別のコンパイラを使用して作成する必要があります。
-addmodule
で追加したモジュールはすべて、実行時に出力ファイルと同じディレクトリに置かれている必要があります。 つまり、コンパイル時には任意のディレクトリからモジュールを指定できますが、実行時にはアプリケーション ディレクトリにこのモジュールが置かれている必要があります。 そうでない場合、TypeLoadException エラーが発生します。
-addmodule
で -target:module
以外の -target (Visual Basic) オプションを (暗黙的または明示的に) 指定すると、-addmodule
に渡すファイルはプロジェクトのアセンブリの一部になります。 -addmodule
で追加された 1 つ以上のファイルを含む出力ファイルを実行するには、アセンブリが必要です。
アセンブリが含まれるファイルからメタデータをインポートするには、-reference (Visual Basic) を使用します。
Note
-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
が出力されます。
関連項目
.NET