Visual Studio で SharePoint アドインを作成する

vsnv では、プロジェクトとプロジェクト アイテムの新しいテンプレートを使用して SharePoint アドインを開発できます。

プロジェクト テンプレート

Visual Studio でプロジェクト テンプレートを使用すると、プロジェクトの種類に必要なプロジェクト アイテムとファイルを含むソリューションが作成されます。 [Office/SharePoint] ノードを展開して [アドイン] ノードを選択すると、[新しいプロジェクト] ダイアログ ボックスに次のプロジェクト テンプレートが表示されます。 [SharePoint ソリューション] ノードの下のプロジェクト テンプレートの詳細については、「SharePoint プロジェクトとプロジェクト アイテム テンプレート」を参照してください。

Office アドイン

Excel や Outlook などの Office アプリケーション内でホストされる Web ページを作成します。 Office アドインは、ドキュメントや Outlook アイテムに追加のコンテンツと機能を提供します。

詳細については、「Office アドイン プラットフォームの概要」を参照してください。

SharePoint アドイン

ウィザードで指定した情報に基づいて SharePoint アドインを作成します。 この情報には、次のデータが含まれます。

  • アドインの名前
  • アドインのデバッグに使用するローカルまたはリモートの SharePoint サイト
  • 作成するアドインの種類: プロバイダー向けホスト型または SharePoint 向けホスト型。

詳細については、「SharePoint アドイン」を参照してください。

プロジェクト アイテム テンプレート

SharePoint ソリューションを作成したら、次のテンプレートを使用してプロジェクト アイテムを追加できます。これらのテンプレートは、[ Office/SharePoint] ノード下の [ 新しいアイテムの追加] ダイアログ ボックスに表示されます。

Office アドイン

SharePoint アドインに Office アドインを追加します。 作業ウィンドウ アドイン、コンテンツ アドイン、またはメール アドインを追加できます。

詳細については、「Office アドイン プラットフォームの概要」を参照してください。

クライアント Web パーツ (ホスト Web)

クライアント Web パーツを SharePoint アドインに追加します。 クライアント Web パーツを追加すると、ホスト サイトのページにアドインを表示できます。 このテンプレートには単一の Elements.xml ファイルが含まれ、このプロパティではクライアント Web パーツの次の要素を定義します。

プロパティ名 説明
ClientWebPart クライアント Web パーツの名前、タイトル、説明、およびディメンションを指定します。
コンテンツ クライアント Web パーツ内でレンダリングされるページの場所を定義します。 この要素には、TypeSrc の 2 つのプロパティが含まれます。
Type では、HTML などの作成中の Web パーツの種類を指定します。
Src では、クライアント Web パーツ内でレンダリングされるページの場所を定義します。
テンプレートでは、PropertyName のパターンを使用して、クエリ文字列のプロパティを参照します (例: Src="~addinWebUrl/Pages/ClientWebPart1.aspx?Property1=_property1_")。

詳細については、「アドイン パーツを作成して SharePoint アドインと共にインストールする」を参照してください。

コンテンツ タイプ

SharePoint の以前のバージョンで使用されていたコンテンツ タイプと同様に、SharePoint アドインにコンテンツ タイプを追加します。 コンテンツ タイプとは、SharePoint リストまたはライブラリにあるアイテムのカテゴリに対するメタデータ、ワークフロー、および動作のセットです。 たとえば、アイテムはリスト コンテンツの一種です。 他の種類のリスト コンテンツには、お知らせ、連絡先、およびタスクが含まれ、それらはアイテム コンテンツ タイプから継承されます。 連絡先コンテンツ タイプには、[]、[]、[役職] などの列が含まれます。

SharePoint アドインにコンテンツ タイプを追加するときは、新しいコンテンツ タイプが継承する基本コンテンツ タイプを指定します。 たとえば、お知らせ、連絡先、ドキュメント、アイテムのいずれかのコンテンツ タイプから継承できます。 次に、コンテンツ タイプ デザイナーを使用して、コンテンツ タイプの列、および名前や説明などのその他のプロパティを構成できます。 選択した値は、Elements.xml ファイルの ContentType 要素と FieldRef 要素に追加されます。

詳細については、「構成要素: SharePoint 2010 コンテンツ タイプ」を参照してください。

空の要素

空の要素のプロジェクト アイテムを SharePoint アドインに追加します。 このプロジェクト アイテムには単一のファイル Elements.xml が含まれ、このファイルで要素のプロパティを定義します。 空の要素は一般に、Visual Studio がテンプレートを提供していないアイテムを定義するために使用します。

リスト

定義とリストのインスタンスの 2 つのプロジェクト アイテムを SharePoint アドインに追加します。 アドインにリストを追加するときは、リストに付ける名前と、空のリストまたは既存のリストの種類に基づくリストのどちらを作成するのかを指定します。 また、リストをカスタマイズできるかどうかも指定します。 次に、リスト デザイナーを使用して、リストの列とビューやリストの名前と説明など、その他のプロパティを構成します。

リスト プロパティの詳細については、「ListTemplate 要素 (リスト テンプレート)」および「ListInstance 要素 (リスト インスタンス)」を参照してください。

リスト メニューにアクションを追加して、ホスト サイトの UI を拡張するプロジェクト アイテムを追加します。 メニュー カスタム アクションには Elements.xml ファイルが含まれます。このファイルは、アクションのプロパティを定義するために使用します。

詳細については、「カスタム アクションを作成して SharePoint アドインで展開する」を参照してください。

モジュール

モジュール プロジェクト アイテムを SharePoint アドインに追加します。 モジュールは基本的に、SharePoint アドインを展開するときにその他のファイルを格納するために使用できるコンテナーです。 ファイルを追加するには、 ソリューション エクスプローラーでモジュール下のプロジェクトにファイルをコピーします。 ファイルへの参照はモジュールの Elements.xml ファイルに自動的に追加され、参照によって新しいファイルのパスおよび URL が指定されます。 モジュールに含まれている Sample.txt ファイルはサンプルとして含まれているだけなので、削除することができます。

リモート イベント レシーバー

リモート イベント レシーバーのプロジェクト アイテムを SharePoint アドインに追加し、Web アプリケーション プロジェクトをソリューションに追加します (プロジェクトがまだ存在しない場合)。 Web アプリケーションには、SharePoint アドインのリモート イベント レシーバーと関連付けられている Web サービスが含まれます。 Web サービスには、Visual Basic または Visual C# コード ファイルが含まれます。このコードは SharePoint アドインでリスト、リスト アイテム、または Web アイテム イベントが発生したときに実行されます。 Web アプリケーションが存在する場合は SharePoint アドインと関連付けられ、Web サービスがそのアプリケーションに追加されます。

詳細については、「SharePoint アドインのイベントを処理する」を参照してください。

リボン カスタム アクション

リボンにアクションを追加して、ホスト サイトの UI を拡張するプロジェクト アイテムを追加します。 リボン カスタム アクションには、アクションのプロパティを定義する Elements.xml ファイルが含まれます。

詳細については、「カスタム アクションを作成して SharePoint アドインで展開する」を参照してください。

構成の検索

SharePoint サイトからエクスポートされたカスタム検索構成の設定をインポートできるようにするプロジェクト アイテムを追加します。

サイト列

サイト列のプロジェクト アイテムを SharePoint アドインに追加します。 サイト列には、サイト列の Field プロパティを定義する Elements.xml ファイルが含まれます。このプロパティには次のデータが含まれます。

プロパティ名 説明
ID サイト列の一意の GUID 値。
名前 サイト列の参照に使用される一意の名前。
DisplayName UI に表示されるフレンドリ名。
種類 SPFieldType に基づくサイト列のデータ型 (ブール型、参照型、またはテキスト型)。
必須 列が必須の場合、このプロパティは True に設定されます。必須でない場合は False に設定されます。
グループ サイト列が割り当てられるグループの名前を指定します。 このプロパティの既定値は Custom Site Columns です。

詳細については、「構成要素: 列とフィールド型」を参照してください。

ワークフロー

Microsoft Azure ワークフローのプロジェクト アイテムを SharePoint アドインに追加します。 詳細については、「SharePoint のワークフロー」を参照してください。

この種類のアイテムを追加するときは、ワークフローの名前と、それがリスト ワークフローかサイト ワークフローかを指定します。 名前が示すように、リスト ワークフローはリストでのみ機能し、サイト ワークフローは SharePoint サイトでのみ機能します。 ワークフローの作成時には、ワークフローをリストおよびライブラリと自動的に関連付けるかどうかも指定し、関連付ける場合は関連付ける対象を指定します。 追加するすべての関連付けごとに、関連付けのファイルがワークフロー プロジェクトに追加されます。 ワークフローには次のファイルが含まれます。

ファイル名 説明
Elements.xml ワークフローの構成と、workflow.xaml ファイルや関連付けファイルなどのワークフローに含まれるファイル、および URL、種類、パスなどの各ファイルのプロパティを指定します。 ワークフロー プロジェクトに追加されるファイルごとに、対応するセクションがワークフローの Elements.xml ファイルに追加されます。 リスト ワークフローの関連付けファイルはリストを必要とするため、これらにはリスト トークンへの参照が含まれます。 サイト ワークフローでは、サイトに GUID が追加されます。 注意 Visual Studio はElements.xml ファイル内の項目を保持するため、変更の影響に精通していない限り、変更を行うことをお勧めします。
Workflow.xaml ワークフローのデザイナーを表示します。 このファイルでは、ワークフローにアクションを追加し、それらのコードおよびプロパティを設定します。
WorkflowStartAssociation SharePoint でワークフローを手動で開始します。 このファイルは、ワークフロー ウィザードの [ユーザーが手動でワークフローを開始] チェック ボックスがオンになっている場合にワークフロー プロジェクトに追加されます。
ItemAddedAssociation ユーザーがサイトまたはリスト (ワークフローの種類による) でアイテムを作成したときにワークフローが存在する場合、ワークフローを自動的に開始します。 このファイルは、ワークフロー ウィザードの [項目が作成されたときにワークフローを自動的に開始] チェック ボックスがオンになっている場合にワークフロー プロジェクトに追加されます。
ItemUpdatedAssociation ユーザーがサイトまたはリスト (ワークフローの種類による) でアイテムを変更したときにワークフローが存在する場合、ワークフローを自動的に開始します。 このファイルは、ワークフロー ウィザードの [項目が変更されたときにワークフローを自動的に開始] チェック ボックスがオンになっている場合にワークフロー プロジェクトに追加されます。
WorkflowHistoryList ワークフロー ウィザードでワークフロー履歴リストを作成する場合、ワークフロー プロジェクトに追加されたファイルを表します。
WorkflowTaskList ワークフロー ウィザードでワークフロー タスク リストを作成する場合、ワークフロー プロジェクトに追加されたファイルを表します。

ワークフロー カスタム アクティビティ

SharePoint アドインにワークフロー カスタム アクティビティのプロジェクト アイテムを追加します。 ワークフロー カスタム アクティビティを追加すると、追加のワークフロー アクションを作成し、後でそれを SharePoint Designer にカスタム アクションとしてインポートできます ワークフロー カスタム アクティビティには Elements.xml ファイルとワークフロー デザイナーの .xaml ファイルが含まれます。Elements.xml ファイルは、アクションのプロパティを定義します。

詳細については、「SharePoint のワークフロー」を参照してください。

関連項目