次の方法で共有


COM 向け .NET Framework アセンブリのパッケージ化

COM 開発者がアプリケーションに組み込むときに役立つ、マネージド型に関する情報を次に示します。

  • COM アプリケーションで使用できる型の一覧

    マネージド型には、COM から参照できない型、参照可能だが作成できない型、および参照と作成の両方が可能な型があります。 アセンブリは、参照できない型、参照できる型、作成できない型、作成できる型を任意に組み合わせて構成できます。 完全を期すために、COM に公開するアセンブリ内の型を識別する必要があります。特に COM に公開するアセンブリ内の型が .NET Framework に公開されている型のサブセットである場合に型の識別が必要になります。

    追加情報については、「相互運用のための .NET 型の要件」を参照してください。

  • バージョン管理に関する注意事項

    クラス インターフェイス (COM 相互運用機能により生成されたインターフェイス) を実装したマネージド クラスには、バージョン管理に関する制約が生じる場合があります。

    クラス インターフェイスの使用に関するガイドラインについては、「クラス インターフェイスの概要」をご覧ください。

  • 配置に関する注意事項

    発行者により署名された厳密な名前のアセンブリは、グローバル アセンブリ キャッシュにインストールできます。 署名のないアセンブリは、プライベート アセンブリとしてユーザーのコンピューターにインストールする必要があります。

    詳細については、「アセンブリのセキュリティに関する考慮事項」を参照してください。

  • タイプ ライブラリのインクルード

    大部分の型は、COM アプリケーションで処理されるときにタイプ ライブラリが必要です。 タイプ ライブラリの生成は、自分で行うことも、COM 開発者に任せることもできます。 Windows SDK には、タイプ ライブラリを生成するための次のオプションが用意されています。

    どの機構を選択した場合でも、提供するアセンブリ内で定義されたパブリック型だけが、生成されるタイプ ライブラリに含まれます。

手順については、「方法:タイプ ライブラリを Win32 リソースとして .NET ベースのアプリケーションに埋め込む」を参照してください。

タイプ ライブラリ エクスポーター

タイプ ライブラリ エクスポーター (Tlbexp.exe) は、アセンブリに含まれているクラスおよびインターフェイスを COM タイプ ライブラリに変換するコマンド ライン ツールです。 クラスの型情報が利用可能になると、COM クライアントは .NET クラスのインスタンスを生成し、COM オブジェクトの場合と同じ方法でインスタンスのメソッドを呼び出すことができます。 Tlbexp.exe により、一度に 1 つのアセンブリ全体が変換されます。 Tlbexp.exe を使用しても、アセンブリで定義されている型のサブセットに関する型情報は生成できません。

TypeLibConverter クラス

System.Runtime.Interop 名前空間にある TypeLibConverter クラスは、アセンブリに含まれているクラスおよびインターフェイスを COM タイプ ライブラリに変換します。 この API は、前のセクションで説明したタイプ ライブラリ エクスポーターと同じ型情報を生成します。

TypeLibConverter クラスは、ITypeLibConverter を実装しています。

アセンブリ登録ツール

アセンブリ登録ツール (Regasm.exe) は、 /tlb: オプションを適用すると、タイプ ライブラリを生成および登録できます。 COM クライアントでは、タイプ ライブラリを Windows のレジストリにインストールする必要があります。 このオプションを適用しない場合、Regasm.exe はアセンブリの型だけを登録し、タイプ ライブラリは登録しません。 アセンブリの型を登録することと、タイプ ライブラリを登録することは、まったく別の作業です。

.NET サービス インストール ツール

.NET サービス インストール ツール (Regsvcs.exe) は、Windows 2000 コンポーネント サービスにマネージド クラスを追加したり、1 つのツール内の複数のタスクを統合したりします。 Regsvcs.exe は、アセンブリの読み込みおよび登録だけでなく、タイプ ライブラリの生成、登録、および既存の COM+ 1.0 アプリケーションへのインストールができます。

関連項目