次の方法で共有


方法: COM ラッパーを作成する

Visual Studio の機能または .NET Framework のツールである Tlbimp.exe と Regasm.exe を使用して、COM (コンポーネント オブジェクト モデル) ラッパーを作成することができます。 どちらの方法でも以下の 2 種類の COM ラッパーが作成されます。

Visual Studio では、プロジェクトに参照として COM ラッパーを追加できます。

マネージド アプリケーションに COM オブジェクトをラップする

Visual Studio を使用してランタイム呼び出し可能ラッパーを作成するには

  1. マネージド アプリケーションのプロジェクトを開きます。

  2. [プロジェクト] メニューの [すべてのファイルを表示] をクリックします。

  3. [プロジェクト] メニューの [参照の追加] をクリックします。

  4. [参照の追加] ダイアログ ボックスで、 [COM] タブをクリックし、使用するコンポーネントを選択して [OK] をクリックします。

    ソリューション エクスプローラーで、COM コンポーネントがプロジェクトの [参照設定] フォルダーに追加されていることを確認します。

これで、COM オブジェクトにアクセスするためのコードを作成できます。 Visual Basic の場合の Imports ステートメントや C# の場合の Using ディレクティブなど、オブジェクトの宣言で始めることができます。

Note

Microsoft Office コンポーネントをプログラミングする場合は、最初に Microsoft ダウンロード センターから Microsoft Office Primary Interop Assemblies Redistributable をインストールします。

.NET Framework ツールを使用してランタイム呼び出し可能ラッパーを作成するには

このツールは、元のタイプ ライブラリで定義された型のランタイム メタデータを含むアセンブリを作成します。

ネイティブ アプリケーションにマネージド オブジェクトをラップする

Visual Studio を使用して COM 呼び出し可能ラッパーを作成するには

  1. ネイティブ コードで実行するマネージド クラス用のクラス ライブラリ プロジェクトを作成します。 このクラスには、パラメーターなしのコンストラクターが含まれている必要があります。

    AssemblyInfo ファイルで、アセンブリの 4 つの部分で構成される完全なバージョン番号があることを確認します。 この番号は、Windows レジストリでバージョンを管理するために必要となります。 バージョン番号の詳細については、「アセンブリのバージョン管理」を参照してください。

  2. [プロジェクト] メニューの [プロパティ] をクリックします。

  3. [コンパイル] タブをクリックします。

  4. [COM の相互運用機能に登録] チェック ボックスをオンにします。

プロジェクトをビルドすると、アセンブリが COM 相互運用機能に対して自動的に登録されます。 Visual Studio でネイティブ アプリケーションをビルドする場合は、 [プロジェクト] メニューの [参照の追加] をクリックすることで、アセンブリを使用できます。

.NET Framework ツールを使用して COM 呼び出し可能ラッパーを作成するには

Regasm.exe (アセンブリ登録ツール) を実行します。

このツールはアセンブリ メタデータを読み取り、必要なエントリをレジストリに追加します。 その結果、COM クライアントで .NET Framework クラスを透過的に作成できるようになります。 アセンブリは、ネイティブ COM クラスの場合と同じように使用することができます。

任意のディレクトリにあるアセンブリで Regasm.exe を実行してから、Gacutil.exe (グローバル アセンブリ キャッシュ ツール) を実行して、そのアセンブリをグローバル アセンブリ キャッシュに移動することができます。 アセンブリを移動しても場所のレジストリ エントリが無効になることはありません。これは、アセンブリが他の場所で見つからない場合に常にグローバル アセンブリ キャッシュが調べられるからです。

関連項目