ベース プロジェクトのオブジェクト モデルの拡張

プロジェクトのサブタイプでは、基本プロジェクトのオートメーション オブジェクト モデルを次の場所で拡張することができます。

  • Project.Extender("<ProjectSubtypeName>"): プロジェクトのサブタイプで、Project オブジェクトのカスタム メソッドを持つオブジェクトを提供できます。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して Project オブジェクトを公開できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Rootitemid 値に対応する) __VSSPROPID2 の CATID から VSHPROPID_ExtObjectCATID のオブジェクトを提供する必要があります。

  • ProjectItem.Extender("<ProjectSubtypeName>"): プロジェクトのサブタイプで、プロジェクト内の特定の ProjectItem オブジェクトのカスタム メソッドを持つオブジェクトを提供できます。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用してこのオブジェクトを公開できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(希望の VSConstants.VSITEMID に対応する) __VSHPROPID2 の CATID から VSHPROPID_ExtObjectCATID のオブジェクトを提供する必要があります。

  • Project.Properties: このコレクションでは、Project オブジェクトの構成非依存のプロパティを公開します。 Project プロパティについて詳しくは、「Properties」をご覧ください。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して、そのプロパティをこのコレクションに追加できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Rootitemid 値に対応する) __VSHPROPID2 の CATID から VSHPROPID_BrowseObjectCATID のオブジェクトを提供する必要があります。

  • Configuration.Properties: このコレクションでは、特定の構成 (たとえば、デバッグ) のためのプロジェクトの構成依存のプロパティを公開します。 詳細については、Configurationを参照してください。 プロジェクトのサブタイプでは、オートメーション エクステンダーを使用して、そのプロパティをこのコレクションに追加できます。 メイン プロジェクトのサブタイプ アグリゲーターに実装された IInternalExtenderProvider インターフェイスでは、(VSITEMID.Rootitemid 値に対応する) VSHPROPID_CfgBrowseObjectCATID のオブジェクトを提供します。 IVsCfgBrowseObject インターフェイスは、構成参照オブジェクトを別のものと区別するために使用されます。

関連項目