.NET コンポーネントを COM に公開する

Note

この記事では、Regasm.exe、グローバル アセンブリ キャッシュ、レジストリ ベースの COM 登録など、レガシ ツールとデプロイ モデルを使用する .NET Framework COM 相互運用ガイダンスについて説明します。 最新の.NETの場合は、COM ソース生成または ComWrappers API を使用します。 詳細については、「 COM 相互運用」を参照してください。

.NET 型を記述し、アンマネージ コードからその型を使用することは、開発者にとって個別のアクティビティです。 このセクションでは、COM クライアントと相互運用するマネージド コードを記述するためのいくつかのヒントについて説明します。

  • 相互運用のための .NET 型の修飾

    COM に公開するすべてのマネージド型、メソッド、プロパティ、フィールド、およびイベントはパブリックである必要があります。 型には、COM を介して呼び出すことができる唯一のコンストラクターである、パラメーターなしのパブリック コンストラクターが必要です。

  • 相互運用属性を適用する

    マネージド コード内のカスタム属性は、コンポーネントの相互運用性を高めることができます。

  • COM 用のアセンブリをパッケージ化する。

    COM 開発者は、アセンブリの参照と配置に関連する手順をまとめる必要がある場合があります。

さらに、このセクションでは、COM クライアントからのマネージド型の使用に関連するタスクを示します。

COM からマネージド型を使用するには

  1. アセンブリを COM に登録します

    .NET Framework の場合、アセンブリ内の型 (およびタイプ ライブラリ) をデザイン時に登録する必要があります。 インストーラーがアセンブリを登録しない場合は、Regasm.exeを使用するように COM 開発者に指示します。

  2. COM から .NET 型を参照します

    COM 開発者は、現在使用しているのと同じツールと手法を使用して、アセンブリ内の型を参照できます。

  3. .NET オブジェクトを呼び出します

    COM 開発者は、アンマネージ型のメソッドを呼び出すのと同じ方法で、.NET オブジェクトのメソッドを呼び出すことができます。 たとえば、COM CoCreateInstance API は .NET オブジェクトをアクティブ化します。

  4. COM アクセス用のアプリケーションをデプロイします。

    .NET Framework の場合、厳密な名前のアセンブリをグローバル アセンブリ キャッシュにインストールでき、パブリッシャーからの署名が必要です。 厳密な名前ではないアセンブリは、クライアントのアプリケーション ディレクトリにインストールする必要があります。

こちらも参照ください