次の方法で共有


-addmodule

コンパイラが、現在コンパイルしているプロジェクトで、指定したファイルのすべての型情報を使用できるようにします。

構文

-addmodule:fileList  

論争

fileList
必須。 メタデータを含むがアセンブリ マニフェストを含まないファイルのコンマ区切りのリスト。 スペースを含むファイル名は、引用符 (" ") で囲む必要があります。

注釈

fileList パラメーターによって一覧表示されるファイルは、-target:module オプションを使用するか、別のコンパイラと同等の-target:moduleで作成する必要があります。

-addmoduleで追加されるすべてのモジュールは、実行時に出力ファイルと同じディレクトリに存在する必要があります。 つまり、コンパイル時に任意のディレクトリにモジュールを指定できますが、モジュールは実行時にアプリケーション ディレクトリに存在する必要があります。 そうでない場合は、 TypeLoadException エラーが発生します。

-addmodule-target:module以外の任意のターゲット (Visual Basic) オプションを (暗黙的または明示的に) 指定した場合、-addmoduleに渡すファイルはプロジェクトのアセンブリの一部になります。 -addmoduleで 1 つ以上のファイルが追加された出力ファイルを実行するには、アセンブリが必要です。

アセンブリを含むファイルからメタデータをインポートするには、 -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出力されます。

こちらも参照ください