ベース プロジェクトのオブジェクト モデルの拡張
プロジェクトのサブタイプでは、基本プロジェクトのオートメーション オブジェクト モデルを次の場所で拡張することができます。
Project.Extender("<ProjectSubtypeName>"): プロジェクトのサブタイプで、Project オブジェクトのカスタム メソッドを持つオブジェクトを提供できます。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して
Project
オブジェクトを公開できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Root のitemid
値に対応する) __VSSPROPID2 の CATID からVSHPROPID_ExtObjectCATID
のオブジェクトを提供する必要があります。ProjectItem.Extender("<ProjectSubtypeName>"): プロジェクトのサブタイプで、プロジェクト内の特定の ProjectItem オブジェクトのカスタム メソッドを持つオブジェクトを提供できます。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用してこのオブジェクトを公開できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(希望の VSConstants.VSITEMID に対応する) __VSHPROPID2 の CATID から
VSHPROPID_ExtObjectCATID
のオブジェクトを提供する必要があります。Project.Properties: このコレクションでは、
Project
オブジェクトの構成非依存のプロパティを公開します。Project
プロパティについて詳しくは、「Properties」をご覧ください。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して、そのプロパティをこのコレクションに追加できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Root のitemid
値に対応する) __VSHPROPID2 の CATID からVSHPROPID_BrowseObjectCATID
のオブジェクトを提供する必要があります。Configuration.Properties: このコレクションでは、特定の構成 (たとえば、デバッグ) のためのプロジェクトの構成依存のプロパティを公開します。 詳細については、Configurationを参照してください。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して、そのプロパティをこのコレクションに追加できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Root の
itemid
値に対応する)VSHPROPID_CfgBrowseObjectCATID
のオブジェクトを提供します。 IVsCfgBrowseObject インターフェイスは、構成参照オブジェクトを別のものと区別するために使用されます。