C# の Assembly.Load の機能は?
C#のAssembly.Loadメソッドは、アセンブリ(コンパイル済みのDLLやEXEファイル)を現在のアプリケーションドメインにロードします。それは以下の役割を果たします。
- ランタイムにアセンブリを動的に読み込む:Assembly.Load メソッドを使うと、コンパイル時にアセンブリをアプリケーションにリンクするのではなく、ランタイム時にアセンブリを動的に読み込むことができます。これは、プラグイン、拡張機能、またはモジュールを動的に読み込む必要があるアプリケーションで非常に役立ちます。
- Assembly.Loadメソッドを使用すると、外部アセンブリを読み込み、現在のアプリケーション ドメインで使用することができます。これにより、外部アセンブリに含まれる型と機能にアクセスできます。
- GAC にないアセンブリの読み込み: Assembly.Load メソッドは、グローバル アセンブリ キャッシュ (GAC) にないアセンブリを読み込むことができます。GAC は、コンピュータ上のグローバルに共有されているアセンブリを格納するために使用される特殊なディレクトリです。一方、 Assembly.Load メソッドは、他の場所にあるアセンブリを読み込むことができます。
- アセンブリをロードしてメタデータを取得する: Assembly.Loadメソッドはアセンブリをロードして、アセンブリのバージョン番号、公開キーのトークン、参照されているその他のアセンブリといった、そのアセンブリに関するメタデータを取得できます。これはアセンブリの機能を動的に検索して使用するために大変便利です。
アセンブリのロードにはAssembly.Loadメソッドの複数のオーバーロードがあるので、状況に応じた適切な方法を選択してアセンブリをロードする必要があります。