AssemblyBuilder.DefineDynamicModuleとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > AssemblyBuilder.DefineDynamicModuleの意味・解説 

AssemblyBuilder.DefineDynamicModule メソッド (String, Boolean)

このアセンブリに名前付き遷移動的モジュールを定義し、シンボル情報を作成するかどうかを指定します。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Function DefineDynamicModule ( _
    name As String, _
    emitSymbolInfo As Boolean _
) As ModuleBuilder
Dim instance As AssemblyBuilder
Dim name As String
Dim emitSymbolInfo As Boolean
Dim returnValue As ModuleBuilder

returnValue = instance.DefineDynamicModule(name, emitSymbolInfo)
public ModuleBuilder DefineDynamicModule (
    string name,
    bool emitSymbolInfo
)
public:
ModuleBuilder^ DefineDynamicModule (
    String^ name, 
    bool emitSymbolInfo
)
public ModuleBuilder DefineDynamicModule (
    String name, 
    boolean emitSymbolInfo
)
public function DefineDynamicModule (
    name : String, 
    emitSymbolInfo : boolean
) : ModuleBuilder

パラメータ

name

動的モジュールの名前。長さは 260 文字未満にする必要があります。

emitSymbolInfo

シンボル情報を生成する場合は true。それ以外の場合は false。

戻り値
定義する動的モジュールを表す ModuleBuilder。

例外例外
例外の種類条件

ArgumentException

name の先頭が空白です。

または

name の長さが 0 です。

または

name の長さが 260 以上です。

ArgumentNullException

name が null 参照 (Visual Basic では Nothing) です。

ExecutionEngineException

既定のシンボル ライタのアセンブリを読み込むことができません。

または

既定のシンボル ライタ インターフェイスを実装する型が見つかりません。

SecurityException

呼び出し元に、必要なアクセス許可がありません。

解説解説

1 つのアセンブリに同じ名前で複数の動的モジュールを定義するとエラーになります。

親の動的アセンブリが RunAndSave で作成されていても、動的モジュールは保存されません。

メモメモ

動的モジュールのデバッグ時に最適化を行わないようにするには、DefineDynamicModule を呼び出す前に、その動的アセンブリに対して DebuggableAttribute 属性を適用します。DisableOptimizations フラグを指定して DebuggableAttribute のインスタンスを作成し、SetCustomAttribute メソッドを使用してそれを適用します。この属性は、動的アセンブリに適用する必要があります。モジュールに適用しても効果はありません。

使用例使用例

DefineDynamicModule を使用して、遷移動的モジュールを作成する方法を次のコード例に示します。このとき、シンボル情報は出力しません。

Dim myAppDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyAssembly"
Dim myAsmBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAsmName,
 _
                      AssemblyBuilderAccess.Run)

' Create a transient dynamic module. Since no DLL name is specified
 with
' this constructor, it can not be saved. By specifying the second parameter
' of the constructor as false, we can suppress the emission of symbol
 info.
Dim myModuleBuilder As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule2",
 _
                                  False)
AppDomain myAppDomain = Thread.GetDomain(); 
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
                     myAsmName,
                     AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified
 with
// this constructor, it can not be saved. By specifying the second parameter
// of the constructor as false, we can suppress the emission of symbol
 info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule2"
,
                                 false);
AppDomain^ myAppDomain = Thread::GetDomain();
AssemblyName^ myAsmName = gcnew AssemblyName;
myAsmName->Name = "MyAssembly";
AssemblyBuilder^ myAsmBuilder = myAppDomain->DefineDynamicAssembly(
   myAsmName, AssemblyBuilderAccess::Run );

// Create a transient dynamic module. Since no DLL name is specified
 with
// this constructor, it can not be saved. By specifying the second parameter
// of the constructor as false, we can suppress the emission of symbol
 info.
ModuleBuilder^ myModuleBuilder = myAsmBuilder->DefineDynamicModule(
   "MyModule2", false );
AppDomain myAppDomain = System.Threading.Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.set_Name("MyAssembly");
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
    myAsmName, AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified
 
// with this constructor, it can not be saved. By specifying the 
// second parameter of the constructor as false, we can suppress 
// the emission of symbol info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule(
    "MyModule2", false);
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AssemblyBuilder クラス
AssemblyBuilder メンバ
System.Reflection.Emit 名前空間

AssemblyBuilder.DefineDynamicModule メソッド (String)

このアセンブリに名前付き遷移動的モジュールを定義します。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Function DefineDynamicModule ( _
    name As String _
) As ModuleBuilder
Dim instance As AssemblyBuilder
Dim name As String
Dim returnValue As ModuleBuilder

returnValue = instance.DefineDynamicModule(name)
public ModuleBuilder DefineDynamicModule (
    string name
)
public:
ModuleBuilder^ DefineDynamicModule (
    String^ name
)
public ModuleBuilder DefineDynamicModule (
    String name
)
public function DefineDynamicModule (
    name : String
) : ModuleBuilder

パラメータ

name

動的モジュールの名前。長さは 260 文字未満にする必要があります。

戻り値
定義する動的モジュールを表す ModuleBuilder。

例外例外
例外の種類条件

ArgumentException

name の先頭が空白です。

または

name の長さが 0 です。

または

name の長さが 260 以上です。

ArgumentNullException

name が null 参照 (Visual Basic では Nothing) です。

SecurityException

呼び出し元に、必要なアクセス許可がありません。

ExecutionEngineException

既定のシンボル ライタのアセンブリを読み込むことができません。

または

既定のシンボル ライタ インターフェイスを実装する型が見つかりません。

解説解説

1 つのアセンブリに同じ名前で複数の動的モジュールを定義するとエラーになります。

定義する動的モジュールは遷移的です。親の動的アセンブリが RunAndSave で作成されていても、動的モジュールは保存されません。

メモメモ

動的モジュールのデバッグ時に最適化を行わないようにするには、DefineDynamicModule を呼び出す前に、その動的アセンブリに対して DebuggableAttribute 属性を適用します。DisableOptimizations フラグを指定して DebuggableAttribute のインスタンスを作成し、SetCustomAttribute メソッドを使用してそれを適用します。この属性は、動的アセンブリに適用する必要があります。モジュールに適用しても効果はありません。

使用例使用例

DefineDynamicModule を使用して、遷移動的モジュールを作成する方法を次のコード例に示します。

Dim myAppDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyAssembly"
Dim myAsmBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAsmName,
 _
                      AssemblyBuilderAccess.Run)

' Create a transient dynamic module. Since no DLL name is specified
 with
' this constructor, it can not be saved. 
Dim myModuleBuilder As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule1")
AppDomain myAppDomain = Thread.GetDomain(); 
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
                     myAsmName,
                     AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified
 with
// this constructor, it can not be saved. 
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule1");
AppDomain^ myAppDomain = Thread::GetDomain();
AssemblyName^ myAsmName = gcnew AssemblyName;
myAsmName->Name = "MyAssembly";
AssemblyBuilder^ myAsmBuilder = myAppDomain->DefineDynamicAssembly(
   myAsmName, AssemblyBuilderAccess::Run );

// Create a transient dynamic module. Since no DLL name is specified
 with
// this constructor, it cannot be saved.
ModuleBuilder^ myModuleBuilder = myAsmBuilder->DefineDynamicModule( "MyModule1"
 );
AppDomain myAppDomain = System.Threading.Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.set_Name("MyAssembly");
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
    myAsmName, AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified
 
// with this constructor, it can not be saved. 
ModuleBuilder myModuleBuilder = 
    myAsmBuilder.DefineDynamicModule("MyModule1");
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AssemblyBuilder クラス
AssemblyBuilder メンバ
System.Reflection.Emit 名前空間

AssemblyBuilder.DefineDynamicModule メソッド


AssemblyBuilder.DefineDynamicModule メソッド (String, String, Boolean)

モジュール名、モジュールの保存先ファイルの名前、既定のシンボル ライタを使用してシンボル情報を出力するかどうかを指定して、持続可能動的モジュールを定義します。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Function DefineDynamicModule ( _
    name As String, _
    fileName As String, _
    emitSymbolInfo As Boolean _
) As ModuleBuilder
Dim instance As AssemblyBuilder
Dim name As String
Dim fileName As String
Dim emitSymbolInfo As Boolean
Dim returnValue As ModuleBuilder

returnValue = instance.DefineDynamicModule(name, fileName, emitSymbolInfo)
public ModuleBuilder DefineDynamicModule (
    string name,
    string fileName,
    bool emitSymbolInfo
)
public:
ModuleBuilder^ DefineDynamicModule (
    String^ name, 
    String^ fileName, 
    bool emitSymbolInfo
)
public ModuleBuilder DefineDynamicModule (
    String name, 
    String fileName, 
    boolean emitSymbolInfo
)
public function DefineDynamicModule (
    name : String, 
    fileName : String, 
    emitSymbolInfo : boolean
) : ModuleBuilder

パラメータ

name

動的モジュールの名前。長さは 260 文字未満にする必要があります。

fileName

動的モジュールを保存するファイルの名前。

emitSymbolInfo

true の場合は、既定のシンボル ライタを使用してシンボリック情報が書き込まれます。

戻り値
定義する動的モジュールを表す ModuleBuilder オブジェクト。

例外例外
例外の種類条件

ArgumentNullException

name または fileName が null 参照 (Visual Basic では Nothing) です。

ArgumentException

name または fileName の長さが 0 です。

または

name の長さが 260 以上です。

または

fileName にパス指定 (ディレクトリ コンポーネントなど) が含まれています。

または

このアセンブリに属する別のファイルの名前と衝突します。

InvalidOperationException

このアセンブリは既に保存されています。

NotSupportedException

このアセンブリは、Run 属性の動的アセンブリで呼び出されています。

ExecutionEngineException

既定のシンボル ライタのアセンブリを読み込むことができません。

または

既定のシンボル ライタ インターフェイスを実装する型が見つかりません。

SecurityException

呼び出し元に、必要なアクセス許可がありません。

解説解説

持続可能動的モジュールを定義するには、このアセンブリが Save 属性または RunAndSave 属性で作成されている必要があります。

動的アセンブリに複数の動的モジュールが含まれている場合、そのアセンブリのマニフェスト ファイル名は、DefineDynamicModule の最初の引数に指定されているモジュール名に一致する必要があります。

メモメモ

動的モジュールのデバッグ時に最適化を行わないようにするには、DefineDynamicModule を呼び出す前に、その動的アセンブリに対して DebuggableAttribute 属性を適用します。DisableOptimizations フラグを指定して DebuggableAttribute のインスタンスを作成し、SetCustomAttribute メソッドを使用してそれを適用します。この属性は、動的アセンブリに適用する必要があります。モジュールに適用しても効果はありません。

使用例使用例

DefineDynamicModule を使用して、シンボル出力付きで持続可能動的モジュールを作成する方法を次のコード例に示します。

Dim myAppDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyAssembly"
Dim myAsmBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAsmName,
 _
                      AssemblyBuilderAccess.Run)
' Create a dynamic module that can be saved as the specified DLL name.
 By
' specifying the third parameter as true, we can allow the emission
 of symbol info.
Dim myModuleBuilder As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule4",
 _
                              "MyModule4.dll", _
                              True)
AppDomain myAppDomain = Thread.GetDomain(); 
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
                     myAsmName,
                     AssemblyBuilderAccess.Run);
// Create a dynamic module that can be saved as the specified DLL name.
 By
// specifying the third parameter as true, we can allow the emission
 of symbol info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule4"
,
                                 "MyModule4.dll",
                                  true);
AppDomain^ myAppDomain = Thread::GetDomain();
AssemblyName^ myAsmName = gcnew AssemblyName;
myAsmName->Name = "MyAssembly";
AssemblyBuilder^ myAsmBuilder = myAppDomain->DefineDynamicAssembly(
   myAsmName, AssemblyBuilderAccess::Run );

// Create a dynamic module that can be saved as the specified DLL name.
 By
// specifying the third parameter as true, we can allow the emission
 of symbol info.
ModuleBuilder^ myModuleBuilder = myAsmBuilder->DefineDynamicModule(
   "MyModule4", "MyModule4.dll", true );
AppDomain myAppDomain = System.Threading.Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.set_Name("MyAssembly");
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
    myAsmName, AssemblyBuilderAccess.Run);

// Create a dynamic module that can be saved as the specified DLL name.
// By specifying the third parameter as true, we can allow the emission
 
// of symbol info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule(
    "MyModule4", "MyModule4.dll", true);
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AssemblyBuilder クラス
AssemblyBuilder メンバ
System.Reflection.Emit 名前空間

AssemblyBuilder.DefineDynamicModule メソッド (String, String)

指定したファイルに保存される指定した名前の持続可能動的モジュールを定義します。シンボル情報は作成されません。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Function DefineDynamicModule ( _
    name As String, _
    fileName As String _
) As ModuleBuilder
Dim instance As AssemblyBuilder
Dim name As String
Dim fileName As String
Dim returnValue As ModuleBuilder

returnValue = instance.DefineDynamicModule(name, fileName)
public ModuleBuilder DefineDynamicModule (
    string name,
    string fileName
)
public:
ModuleBuilder^ DefineDynamicModule (
    String^ name, 
    String^ fileName
)
public ModuleBuilder DefineDynamicModule (
    String name, 
    String fileName
)
public function DefineDynamicModule (
    name : String, 
    fileName : String
) : ModuleBuilder

パラメータ

name

動的モジュールの名前。長さは 260 文字未満にする必要があります。

fileName

動的モジュールを保存するファイルの名前。

戻り値
定義する動的モジュールを表す ModuleBuilder オブジェクト。

例外例外
例外の種類条件

ArgumentNullException

name または fileName が null 参照 (Visual Basic では Nothing) です。

ArgumentException

name または fileName の長さが 0 です。

または

name の長さが 260 以上です。

または

fileName にパス指定 (ディレクトリ コンポーネントなど) が含まれています。

または

このアセンブリに属する別のファイルの名前と衝突します。

InvalidOperationException

このアセンブリは既に保存されています。

NotSupportedException

このアセンブリは、Run 属性の動的アセンブリで呼び出されています。

SecurityException

呼び出し元に、必要なアクセス許可がありません。

ExecutionEngineException

既定のシンボル ライタのアセンブリを読み込むことができません。

または

既定のシンボル ライタ インターフェイスを実装する型が見つかりません。

解説解説

持続可能動的モジュールを定義するには、このアセンブリが Save 属性または RunAndSave 属性で作成されている必要があります。

動的アセンブリに複数の動的モジュールが含まれている場合、そのアセンブリのマニフェスト ファイル名は、DefineDynamicModule の最初の引数に指定されているモジュール名に一致する必要があります。

メモメモ

動的モジュールのデバッグ時に最適化を行わないようにするには、DefineDynamicModule を呼び出す前に、その動的アセンブリに対して DebuggableAttribute 属性を適用します。DisableOptimizations フラグを指定して DebuggableAttribute のインスタンスを作成し、SetCustomAttribute メソッドを使用してそれを適用します。この属性は、動的アセンブリに適用する必要があります。モジュールに適用しても効果はありません。

使用例使用例

DefineDynamicModule を使用して、持続可能動的モジュールを作成する方法を次のコード例に示します。

Dim myAppDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyAssembly"
Dim myAsmBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAsmName,
 _
                      AssemblyBuilderAccess.Run)
' Create a dynamic module that can be saved as the specified DLL name.
Dim myModuleBuilder As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule3",
 _
                              "MyModule3.dll")
AppDomain myAppDomain = Thread.GetDomain(); 
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
                     myAsmName,
                     AssemblyBuilderAccess.Run);
// Create a dynamic module that can be saved as the specified DLL name.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule3"
,
                                 "MyModule3.dll");
AppDomain^ myAppDomain = Thread::GetDomain();
AssemblyName^ myAsmName = gcnew AssemblyName;
myAsmName->Name = "MyAssembly";
AssemblyBuilder^ myAsmBuilder = myAppDomain->DefineDynamicAssembly(
   myAsmName, AssemblyBuilderAccess::Run );

// Create a dynamic module that can be saved as the specified DLL name.
ModuleBuilder^ myModuleBuilder = myAsmBuilder->DefineDynamicModule(
   "MyModule3", "MyModule3.dll" );
AppDomain myAppDomain = System.Threading.Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.set_Name("MyAssembly");
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
    myAsmName, AssemblyBuilderAccess.Run);

// Create a dynamic module that can be saved as the specified DLL name.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule(
    "MyModule3", "MyModule3.dll");
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AssemblyBuilder クラス
AssemblyBuilder メンバ
System.Reflection.Emit 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からAssemblyBuilder.DefineDynamicModuleを検索した結果を表示しています。
Weblioに収録されているすべての辞書からAssemblyBuilder.DefineDynamicModuleを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からAssemblyBuilder.DefineDynamicModule を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「AssemblyBuilder.DefineDynamicModule」の関連用語

AssemblyBuilder.DefineDynamicModuleのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



AssemblyBuilder.DefineDynamicModuleのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS