相互運用アプリケーションの配置

通常、相互運用アプリケーションには、.NET クライアント アセンブリ、個別の COM タイプ ライブラリを表す 1 つ以上の相互運用機能アセンブリ、および 1 つ以上の登録済み COM コンポーネントが含まれています。.NET Framework SDK には、タイプ ライブラリを相互運用機能アセンブリにインポートしたり、変換したりするためのツールが用意されています。相互運用機能アセンブリは、アプリケーションを構成するその他のアセンブリと共に配布する必要があります。

アセンブリには、厳密な名前を付けることができます。厳密な名前のアセンブリには、一意な識別子を提供する発行者の公開キーが含まれています。タイプ ライブラリ インポータ (Tlbimp.exe) で作成されたアセンブリに発行者が署名するには、/keyfile オプションを使います。署名付きアセンブリは、グローバル アセンブリ キャッシュにインストールできます。署名のないアセンブリは、プライベート アセンブリとしてユーザーのコンピュータにインストールする必要があります。

プライベート アセンブリ

プライベートに使用するアセンブリをインストールする場合は、アプリケーションの EXE と、インポートされた COM 型を格納した相互運用機能アセンブリの両方を同じディレクトリ構造内にインストールする必要があります。別個のアプリケーション ディレクトリに配置された Client1.exe および Client2.exe によってプライベートに使用される、署名のない相互運用機能アセンブリを次の図に示します。この例で LOANLib.dll として示されている相互運用機能アセンブリは、2 回インストールされています。

プライベートに配置する場合のディレクトリ構造とレジストリ エントリ

ディレクトリ構造と Windows レジストリ

アプリケーションに関連付けられたすべての COM コンポーネントを、Windows のレジストリに登録する必要があります。この図の Client1.exe と Client2.exe が別のコンピュータにインストールされている場合は、COM コンポーネントを両方のコンピュータに登録する必要があります。

共有アセンブリ

複数のアプリケーションによって共有されるアセンブリは、グローバル アセンブリ キャッシュと呼ばれる集中化されたリポジトリにインストールする必要があります。.NET クライアントは、署名され、グローバル アセンブリ キャッシュにインストールされた、相互運用機能アセンブリと同一のコピーにアクセスできます。

参照

概念

.NET Framework への COM コンポーネントの公開
タイプ ライブラリのアセンブリとしてのインポート
マネージ コードでの COM 型の使用
相互運用プロジェクトのコンパイル