次の方法で共有


SharePoint プロジェクト項目の拡張

既に Visual Studio にインストールされている種類の SharePoint プロジェクト項目に機能を追加する必要がある場合は、プロジェクト項目の拡張機能を作成します。たとえば、Visual Studio の組み込みのイベント レシーバーまたはリスト定義に対する拡張機能を作成したり、カスタム プロジェクト項目の種類に対する拡張機能を作成したりできます。また、すべての種類の SharePoint プロジェクト項目の拡張機能を作成することもできます。

SharePoint プロジェクト項目の拡張のタスク

プロジェクト項目を拡張するには、ISharePointProjectItemTypeExtension インターフェイスを実装する Visual Studio 拡張機能アセンブリを構築します。詳細については、「方法: SharePoint プロジェクト項目の拡張機能を作成する」を参照してください。

プロジェクト項目を拡張する場合は、プロジェクト項目に次の機能も追加できます。

プロジェクト項目の拡張機能の作成、配置、およびテストの方法については、「チュートリアル: SharePoint プロジェクト項目の種類の拡張」を参照してください。

プロジェクト項目の拡張機能とプロジェクト項目のインスタンスとの関係について

プロジェクト項目の拡張機能を作成するときに、関連付けられている種類のプロジェクト項目が SharePoint プロジェクトに追加されると、Visual Studio によって拡張機能が読み込まれます。たとえば、イベント レシーバー プロジェクト項目の拡張機能を作成すると、プロジェクトにイベント レシーバー プロジェクト項目を追加したときに、Visual Studio によって拡張機能が読み込まれます。Visual Studio は、関連付けられているプロジェクト項目の種類のすべてのインスタンスの拡張機能と同一のインスタンスを読み込みます。前の例では、ユーザーがプロジェクトに 2 つ目のイベント レシーバー プロジェクト項目を追加すると、拡張機能の同一インスタンスを使用し、2 つ目のプロジェクト項目がカスタマイズされます。

拡張するプロジェクト項目の種類の特定のインスタンスにアクセスするには、ISharePointProjectItemTypeExtension.Initialize メソッドの実装で、projectItemType パラメーターの ISharePointProjectItemEvents イベントの 1 つを処理します。たとえば、拡張の対象となっている種類のプロジェクト項目がどの時点でプロジェクトに追加されるかを判断するには、ProjectItemAdded イベントを処理します。詳細については、「方法: SharePoint プロジェクト項目の拡張機能を作成する」を参照してください。

SharePoint プロジェクト項目の識別子

それぞれの SharePoint プロジェクト項目には、対応する文字列識別子があります。次のようなタスクを実行する場合は、プロジェクト項目の識別子を知っておく必要があります。

  • プロジェクト項目の拡張機能を作成する。この場合、拡張の対象となるプロジェクト項目の識別子を SharePointProjectItemTypeAttribute のコンストラクターに渡す必要があります。すべてのプロジェクト項目の種類の拡張機能を作成するには、* 文字列値を渡します。

  • プロジェクト項目をプログラムによってプロジェクトに追加する。この場合、プロジェクト項目の識別子を ISharePointProjectItemCollection.Add メソッドに渡す必要があります。

Visual Studio に付属する SharePoint プロジェクト項目の識別子を次の表に示します。

プロジェクト項目の名前

文字列識別子

ビジネス データ カタログ モデル

Microsoft.VisualStudio.SharePoint.BusinessDataConnectivity

コンテンツ タイプ

Microsoft.VisualStudio.SharePoint.ContentType

イベント レシーバー

Microsoft.VisualStudio.SharePoint.EventHandler

空の要素

Microsoft.VisualStudio.SharePoint.GenericElement

リスト定義

コンテンツ タイプに基づくリスト定義

Microsoft.VisualStudio.SharePoint.ListDefinition

リスト インスタンス

Microsoft.VisualStudio.SharePoint.ListInstance

Module

Microsoft.VisualStudio.SharePoint.Module

シーケンシャル ワークフロー

ステート マシン ワークフロー

Microsoft.VisualStudio.SharePoint.Workflow

サイト定義

Microsoft.VisualStudio.SharePoint.SiteDefinition

可視 Web パーツ

Microsoft.VisualStudio.SharePoint.VisualWebPart

Web パーツ

Microsoft.VisualStudio.SharePoint.WebPart

ワークフロー関連付けフォーム

Microsoft.VisualStudio.SharePoint.WorkflowAssociation

参照

処理手順

チュートリアル: SharePoint プロジェクト項目の種類の拡張

概念

方法: SharePoint プロジェクト項目の拡張機能を作成する

方法: ショートカット メニュー項目を SharePoint プロジェクト項目の拡張機能に追加する

方法: SharePoint プロジェクト項目の拡張機能にプロパティを追加する

SharePoint プロジェクト システムの拡張