/addmodule (C# コンパイラ オプション)
このオプションを指定すると、target:module スイッチで生成されたモジュールが現在のコンパイルに追加されます。
/addmodule:file[;file2]
Arguments
- file, file2
メタデータを含む出力ファイル。 このファイルにアセンブリ マニフェストを含めることはできません。 複数のファイルをインポートする場合は、コンマまたはセミコロンでファイル名を区切ります。
解説
/addmodule を使用して追加されたすべてのモジュールは、実行時に出力ファイルと同じディレクトリに配置されている必要があります。 つまり、コンパイル時には任意のディレクトリのモジュールを指定できますが、実行時に指定するモジュールはアプリケーション ディレクトリ内に配置する必要があります。 実行時にモジュールがアプリケーション ディレクトリ内に存在しない場合は、TypeLoadException になります。
file にアセンブリを含めることはできません。 たとえば、/target:module を使用して出力ファイルが作成された場合、そのメタデータは /addmodule を使用してインポートできます。
出力ファイルが /target:module 以外の /target オプションを使用して作成された場合、そのメタデータは /addmodule ではインポートできませんが、/reference を使用してインポートできます。
このコンパイラ オプションは Visual Studio では使用できないため、プロジェクトではモジュールを参照できません。 また、このコンパイラ オプションは、コードからは変更できません。
使用例
ソース ファイル input.cs をコンパイルし、metad1.netmodule および metad2.netmodule からメタデータを追加して out.exe を作成するには、次のコードを使用します。
csc /addmodule:metad1.netmodule;metad2.netmodule /out:out.exe input.cs