マルチファイル アセンブリ

更新 : 2007 年 11 月

マルチファイル アセンブリは、コマンド ライン コンパイラまたは Visual C++ 付き Visual Studio 2005 を使用して作成できます。アセンブリ内の 1 つのファイルでアセンブリ マニフェストを格納している必要があります。また、アプリケーションを起動するアセンブリは、Main メソッドや WinMain メソッドなどのエントリ ポイントを含む必要があります。

たとえば、Client.cs と Stringer.cs の 2 つのコード モジュールを含むアプリケーションがあるとします。Stringer.cs は、Client.cs 内のコードによって参照される myStringer 名前空間を作成します。Client.cs は、アプリケーションのエントリ ポイントである Main メソッドを格納します。この例で、この 2 つのコード モジュールをコンパイルしてから、アプリケーションを起動するためのアセンブリ マニフェストを格納する 3 番目のファイルを作成します。アセンブリ マニフェストは、Client モジュールと Stringer モジュールの両方を参照します。

168k2ah5.alert_note(ja-jp,VS.90).gifメモ :

マルチファイル アセンブリは、アセンブリに複数のコード モジュールがある場合でも、1 つのエントリ ポイントしか持つことができません。

マルチファイル アセンブリの作成が必要になる理由は、いくつか考えられます。

  • 異なる言語で記述された複数のモジュールを結合するため。これは、マルチファイル アセンブリの作成が必要になる最も一般的な理由です。

  • 必要な場合にしかダウンロードされないモジュールに使用頻度の低い型を配置することで、アプリケーションのダウンロードを最適化するため。

    168k2ah5.alert_note(ja-jp,VS.90).gifメモ :

    <object> タグと Microsoft Internet Explorer を使用してダウンロードされるアプリケーションを作成する場合は、マルチファイル アセンブリを作成することが重要です。この方法では、アセンブリは、アセンブリ マニフェストだけを格納するコードモジュールとは分けて作成します。Internet Explorer は、最初にアセンブリ マニフェストをダウンロードしてから、その他の必要なモジュールまたはアセンブリをすべてダウンロードするためにワーカー スレッドを作成します。アセンブリ マニフェストを格納するファイルのダウンロード中は、Internet Explorer はユーザーからの入力には応答しません。アセンブリ マニフェストを格納するファイルが小さいほど、Internet Explorer が応答しない時間は短くなります。

  • 複数の開発者が記述したコード モジュールを結合するため。開発者は作成したコード モジュールを各自でコンパイルできます。しかしこの場合、すべてのモジュールを 1 つのマルチファイル アセンブリにするときには公開されない型が、パブリックな型として公開されてしまうことがあります。

アセンブリを作成した後は、アセンブリ マニフェストの格納ファイル、つまりアセンブリに署名したり、ファイルおよびアセンブリに厳密な名前を付けてグローバル アセンブリ キャッシュに配置したりできます。

参照

処理手順

方法 : マルチファイル アセンブリをビルドする

その他の技術情報

アセンブリを使用したプログラミング