COM 用のアセンブリのパッケージ化
更新 : 2007 年 11 月
COM 開発者がアプリケーションに組み込むときに役立つ、マネージ型に関する情報を次に示します。
COM アプリケーションが処理できる型のリスト
マネージ型の中には、COM から参照できない型、参照可能だが作成できない型、および参照と作成の両方が可能な型があります。アセンブリは、参照できない型、参照できる型、作成できない型、作成できる型を任意に組み合わせて構成できます。完全を期すために、COM に公開するアセンブリ内の型を識別する必要があります。特に COM に公開するアセンブリ内の型が .NET Framework に公開されている型のサブセットである場合に型の識別が必要になります。
追加情報については、「相互運用のための .NET 型の要件」を参照してください。
バージョン管理に関する注意事項
クラス インターフェイス (COM 相互運用機能により生成されたインターフェイス) を実装したマネージ クラスには、バージョン管理に関する制約が生じる場合があります。
クラス インターフェイスを使用する場合のガイドラインについては、「クラス インターフェイスの概要」を参照してください。
配置に関する注意事項
発行者により署名された厳密な名前のアセンブリは、グローバル アセンブリ キャッシュにインストールできます。署名のないアセンブリは、プライベート アセンブリとしてユーザーのコンピュータにインストールする必要があります。
追加情報については、「アセンブリのセキュリティに関する考慮事項」を参照してください。
タイプ ライブラリのインクルード
大部分の型は、COM アプリケーションで処理されるときにタイプ ライブラリが必要です。タイプ ライブラリの生成は、自分で行うことも、COM 開発者に任せることもできます。Windows Software Development Kit (SDK) には、タイプ ライブラリを生成するために次のオプションが用意されています。
タイプ ライブラリ エクスポータ
TypeLibConverter クラス
アセンブリ登録ツール
.NET サービス インストール ツール
どの機構を選択した場合でも、提供するアセンブリ内で定義されたパブリック型だけが、生成されるタイプ ライブラリに含まれます。
タイプ ライブラリは、個別のファイルとしてパッケージ化することも、.NET ベースのアプリケーションに Win32 リソースとして埋め込むこともできます。Microsoft Visual Basic 6.0 ではこの作業は自動的に実行されますが、Microsoft Visual Basic 2005 を使用する場合は、手動でタイプ ライブラリを埋め込む必要があります。手順については、「方法 : タイプ ライブラリを 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 アプリケーションへのインストールができます。
参照
処理手順
方法 : タイプ ライブラリを Win32 リソースとして .NET ベースのアプリケーションに埋め込む
概念
COM への .NET Framework コンポーネントの公開