次の方法で共有


相互運用アプリケーションのデプロイ

相互運用アプリケーションには、通常、.NET クライアント アセンブリ、個別の COM タイプ ライブラリを表す 1 つ以上の相互運用機能アセンブリ、および 1 つ以上の登録済み COM コンポーネントが含まれます。 Visual Studio と Windows SDK には、「タイプ ライブラリをアセンブリとしてインポートする」で説明されているように、タイプ ライブラリをインポートして相互運用機能アセンブリに変換 するためのツールが用意されています。 相互運用アプリケーションをデプロイするには、次の 2 つの方法があります。

  • 埋め込み相互運用機能型を使用する: .NET Framework 4 以降では、相互運用機能アセンブリから実行可能ファイルに型情報を埋め込むようコンパイラに指示できます。 コンパイラは、アプリケーションが使用する型情報のみを埋め込みます。 アプリケーションと相互運用機能アセンブリをデプロイする必要はありません。 これが推奨される手法です。

  • 相互運用機能アセンブリを配置する: 相互運用機能アセンブリへの標準参照を作成できます。 この場合、相互運用機能アセンブリをアプリケーションと共に配置する必要があります。 この手法を使用していて、プライベート COM コンポーネントを使用していない場合は、マネージド コードに組み込む予定の COM コンポーネントの作成者によって発行されたプライマリ相互運用機能アセンブリ (PIA) を常に参照してください。 プライマリ相互運用機能アセンブリの生成と使用の詳細については、「 プライマリ相互運用機能アセンブリ」を参照してください。

埋め込み相互運用機能の種類を使用する場合、デプロイは単純で簡単です。 特別な操作は必要ありません。 この記事の残りの部分では、アプリケーションと相互運用機能アセンブリをデプロイするシナリオについて説明します。

相互運用機能アセンブリの配置

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

プライベート アセンブリ

プライベートに使用するアセンブリをインストールするには、アプリケーション実行可能ファイルとインポートされた COM 型を含む相互運用機能アセンブリの両方を同じディレクトリ構造にインストールする必要があります。 次の図は、Client1.exe と Client2.exeによってプライベートに使用される署名されていない相互運用機能アセンブリを示しています。これは、別のアプリケーション ディレクトリに存在します。 この例では、LOANLib.dll と呼ばれる相互運用機能アセンブリが 2 回インストールされます。

ディレクトリ構造と Windows レジストリプライベート展開の

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

共有アセンブリ

複数のアプリケーションで共有されるアセンブリは、グローバル アセンブリ キャッシュと呼ばれる一元化されたリポジトリにインストールする必要があります。 .NET クライアントは、グローバル アセンブリ キャッシュに署名およびインストールされている相互運用機能アセンブリの同じコピーにアクセスできます。 プライマリ相互運用機能アセンブリの生成と使用の詳細については、「 プライマリ相互運用機能アセンブリ」を参照してください。

こちらも参照ください