SharePoint プロジェクトとプロジェクト項目テンプレート

Visual Studio 2010 には、SharePoint サイトおよびアプリケーションを開発するための新しいプロジェクトの種類のテンプレートとプロジェクト項目テンプレートが用意されています。

プロジェクトとプロジェクト項目テンプレートの概要

Visual Studio で SharePoint 2010 プロジェクト テンプレートを表示するには、Visual Basic または Visual C# の [SharePoint] ノードを展開して、[2010] をクリックします。SharePoint 2007 プロジェクト テンプレートを表示するには、[2007] フォルダーをクリックします。

Visual Studio で SharePoint プロジェクトを作成すると、そのプロジェクトの種類に必要なファイルと共に、空の SharePoint プロジェクトが作成されます (これについては後で説明します)。 プロジェクト項目テンプレートは、既存の SharePoint プロジェクトにプロジェクト項目を追加する目的で使用されます (リスト定義プロジェクトにイベント レシーバーを追加するなど)。

SharePoint の基本事項については、「SharePoint Foundation Building Blocks (SharePoint Foundation の構成要素)」を参照してください。

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

ここでは、それぞれの SharePoint プロジェクト テンプレートについて説明します。 SharePoint プロジェクトを作成するには、[ファイル] をクリックし、[新規作成] をポイントして、[新しいプロジェクト] ダイアログ ボックスを開きます。このダイアログ ボックスで、プロジェクト テンプレートを選択し、[OK] をクリックします。

Business Data Connectivity モデル

Business Data Connectivity モデルは、SharePoint へのビジネス データの統合を可能にするプロジェクトです。 SQL Server、Siebel、SAP などのバック エンドのサーバー アプリケーションからのビジネス データを使用できます。Business Data Connectivity モデル プロジェクトは、Business Data Connectivity モデル項目を含む空の SharePoint プロジェクトです。 詳細については、「SharePoint へのビジネス データの統合」および「What's New: Business Connectivity Services (新機能: ビジネス コネクティビティ サービス)」を参照してください。

コンテンツ タイプ

コンテンツ タイプ プロジェクトを使用すると、ドキュメント、お知らせ、タスクなどの既存 (ベース) のコンテンツ タイプを基にしてカスタム コンテンツ タイプを作成できます。 カスタム コンテンツ タイプでは、独自に定義したフィールドに加えて、ベース コンテンツ タイプと同じ属性およびフィールドが使用できます。

注意

SharePoint の制限により、サンドボックス ソリューション コンテンツ タイプを基にしてファーム ソリューション コンテンツ タイプを作成することはできません。

詳細については、「チュートリアル: カスタムのフィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成」および「Building Block: Content Type (構成要素: コンテンツ タイプ)」を参照してください。

空の SharePoint プロジェクト

空の SharePoint プロジェクトの内容は、このトピックで説明するすべてのプロジェクト テンプレートに共通しています。 空の SharePoint プロジェクトには、次の内容が含まれています。

  • プロジェクト ファイル。

  • プロジェクトのプロパティ ページ。

  • [参照設定] フォルダー。プロジェクトに必要なすべてのアセンブリ参照を一覧表示します。

  • [フィーチャー] フォルダー。SharePoint サーバーにフィーチャーを配置するために使用される .feature 構成ファイルを格納します。

  • [パッケージ] フォルダー。プロジェクトのすべてのファイルを配布するために使用される package.wspdef ファイルを格納します。

  • key.snk (厳密名キー) ファイル。アセンブリに厳密な名前で署名するために使用されます。

イベント レシーバー

イベント レシーバーは、SharePoint サイト内のアイテム (リスト、Web アイテム、ワークフローなど) のイベントを処理します。 イベント レシーバー プロジェクト テンプレートで処理できるイベントは次のとおりです。

  • リスト イベント

  • リスト アイテム イベント

  • リスト電子メール イベント

  • Web イベント

  • リスト ワークフロー イベント

イベント レシーバー テンプレートは、空の SharePoint プロジェクトに加えて、[イベント レシーバー] フォルダーを作成します。 [イベント レシーバー] フォルダーには、SharePoint カスタマイズ ウィザード でプロジェクトの作成時に指定したすべてのイベントのイベント ハンドラーが含まれるクラス ファイルが 1 つ存在します。 event receiver クラスは、SharePoint サイトで項目 (ファイル、フィールド、アイテム、リスト、添付、Web サイト、ワークフローなど) が追加、更新、または削除されたときに発生するイベントを処理できます。 詳細については、「方法: イベント レシーバーを作成する」および「Building Block: Event Handling (構成要素: イベント処理)」を参照してください。

再利用可能なワークフローのインポート

再利用可能なワークフローのインポートを使用することで、SharePoint Designer 2010 で作成した再利用可能な宣言型のワークフローを Visual Studio にインポートできます。 ワークフローは、SharePoint サイトから .wsp ファイルとしてエクスポートされます。 プロジェクトを Visual Studio にインポートしたら、それをカスタマイズし、それにコードを追加して、SharePoint サイトに配置できます。 詳細については、「チュートリアル: SharePoint Designer の再利用可能なワークフローの Visual Studio へのインポート」および「[新機能] ワークフローに関する機能拡張」を参照してください。

SharePoint ソリューション パッケージのインポート

SharePoint ソリューション パッケージのインポート プロジェクトを使用することで、.wsp ファイルにエクスポートされた既存の SharePoint サイトを Visual Studio にインポートできます。 プロジェクトを Visual Studio にインポートしたら、その項目をカスタマイズして再配置することができます。 詳細については、「既存の SharePoint サイトからのアイテムのインポート」を参照してください。

リスト定義

SharePoint サイトの主要なビルド ブロックの 1 つにリストがあります。リストは、リスト定義によって定義されます。 リスト定義は、概念上は、基本クラスまたはテンプレートに似ており、フィールド、フォーム、ビュー、ツール バーなどのリストのすべての構成要素を定義します。 個別に作成されるリスト定義のインスタンスは、リスト インスタンスと呼ばれ、リスト定義に基づいて作成されます。 リスト定義は、リストに関連付けられているコンテンツ タイプも指定します。 リスト定義の例としては、ドキュメント リスト内のドキュメント、予定表、タスク リストなどがあります。 コンテンツ タイプは、タスク リスト内のタスク、予定表内のイベント、ドキュメント ライブラリ内のドキュメントなどのリスト インスタンス内の個々の項目を表します。

リスト定義プロジェクトは、[新しいプロジェクト] ダイアログ ボックスで [リスト定義] プロジェクト テンプレートを実行することによって作成します。 このテンプレートを実行すると、コンテンツ タイプ、リスト インスタンス、イベント レシーバーなどの他の SharePoint プロジェクト項目を格納できるスタンドアロン プロジェクトが作成されます。 SharePoint カスタマイズ ウィザード には、リスト定義プロジェクトの作成時に、リスト インスタンス プロジェクト項目を追加するオプションが用意されています。

リスト定義プロジェクトを作成し、ビルドすると、プロジェクトは SharePoint サーバーにフィーチャーとして配置され、サーバーで自動的にアクティブ化されて、SharePoint サイトのユーザーが使用できる状態になります。

Visual Studio には、次に示す SharePoint リスト定義のプロジェクト タイプ用のテンプレートが用意されています。

リストの種類

説明

お知らせ

新しい情報をチーム メンバーと共有する目的で使用されます。

予定表

日程を一覧にしたり、間近に迫っているチーム イベントと期限を追跡したりする目的で使用します。

連絡先

担当者とその連絡先情報 (アドレス、電話番号など) を追跡する目的で使用します。

カスタム リスト

カスタム列を追加できる空のリストです。

ドキュメント ライブラリ

チーム メンバーが共同で取り組むドキュメントが格納されています。 バージョン管理のためのソース管理機能を使用できます。

リンク

ハイパーリンクの管理に使用します。

タスク

ワークフローで使用できるアクティビティ ベースの項目です。

詳細については、「チュートリアル: カスタムのフィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成」および「Building Block: Lists and Document Libraries (構成要素: リストおよびドキュメント ライブラリ)」を参照してください。

[モジュール]

モジュール (Visual Basic のモジュールとは異なる) には、開発メモや Readme ファイルなどの SharePoint プロジェクトに付随するファイルが含まれています。 SharePoint プロジェクトによっては、必要なファイルを格納するためにモジュールが使用されることもあります。 モジュール プロジェクト テンプレートにより、[モジュール] ノードが含まれる空の SharePoint プロジェクトが作成されます。 [モジュール] ノードには、2 つのプロジェクト項目テンプレートが含まれています。1 つはモジュールのマニフェストとして機能する XML 定義ファイルで、もう 1 つはサンプルを提供するための sample.txt ファイルです。 詳細については、「モジュールを使用してソリューションにファイルを追加する」および「Modules (モジュール)」を参照してください。

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

シーケンシャル ワークフローは、最後のステップが完了するまで順番に実行される一連のビジネス ロジック ステップです。 シーケンシャル ワークフローは、リストやドキュメントなどの SharePoint アイテムが関係するプロセスを管理する目的で使用します。 サイト レベル (グローバル) のワークフローまたはリスト レベル (ローカル) のワークフローを作成できるほか、ワークフローを自動的に開始するか、手動で開始するかを選択することもできます。 詳細については、「SharePoint ワークフロー ソリューションの作成」および「[新機能] ワークフローに関する機能拡張」を参照してください。

SharePoint 2007 ワークフロー プロジェクトについては、このトピックの「SharePoint 2007 プロジェクト」を参照してください。

SharePoint 2007 プロジェクト

SharePoint 2007 プロジェクト (シーケンシャル ワークフローおよびステート マシン ワークフロー) は、Visual Studio 2008 の場合と同様に、Visual Studio 2010 で機能します。 SharePoint 2007 プロジェクトは、Microsoft Office SharePoint Server 2007 だけでなく Windows SharePoint Services 3.0 でも実行できるようになりました。

Windows SharePoint Services 3.0 または Microsoft Office SharePoint Server 2007 がシステムにインストールされている場合のみ、SharePoint 2007 プロジェクトは Visual Studio 2010 で実行できます。 SharePoint Foundation 2010 または SharePoint Server 2010 で実行することはできません。

注意

Windows SharePoint Services 3.0 または Microsoft Office SharePoint Server 2007 は、SharePoint Foundation 2010 または SharePoint Server 2010 と同じシステムにインストールできません。

SharePoint 2007 プロジェクトを Visual Studio 2010 にアップグレードするには、[SharePoint ソリューション パッケージのインポート] プロジェクトを使用して Visual Studio 2010 にプロジェクトをインポートします。 詳細については、「既存の SharePoint サイトからのアイテムのインポート」を参照してください。

SharePoint 2007 プロジェクトの詳細については、「SharePoint 2007 ワークフロー ソリューション」または「SharePoint ワークフロー ソリューション」を参照してください。

サイト定義

サイト定義プロジェクトには、空の SharePoint プロジェクトに含まれているすべての内容に加えて、次のファイルが格納されているサイト定義フォルダーが含まれています。

  • 既定の .aspx ページ。サイトの既定の Web ページとして使用されます。

  • onet.xml ファイル。サイトの構成要素の定義が含まれています。

  • webtemp xml ファイル。[新しい SharePoint サイト] ページの [テンプレートの選択] セクションに表示されるサイト定義構成を指定します。

サイト定義プロジェクトの作成後は、コードおよびファイルを追加して機能を導入できます。 詳細については、「SharePoint のサイト定義の作成」を参照してください。

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

ステート マシン ワークフローは、ビジネス ロジックの状態、遷移、およびアクションで構成されます。 ステート マシン ワークフローに含まれる各ステップは、順番に実行されるのではなく、アクションおよび状態によってトリガーされます。 シーケンシャル ワークフローと同様に、ステート マシン ワークフローは、リストやドキュメントなどの SharePoint アイテムに関連付けられます。 サイト レベル (グローバル) のワークフローまたはリスト レベル (ローカル) のワークフローを作成できることも、シーケンシャル ワークフローと同じです。 ワークフローを自動的に開始するか手動で開始するかを選択することもできます。 詳細については、「SharePoint ワークフロー ソリューションの作成」および「[新機能] ワークフローに関する機能拡張」を参照してください。

SharePoint 2007 ワークフロー プロジェクトについては、このトピックの「SharePoint 2007 プロジェクト」を参照してください。

可視 Web パーツ

可視 Web パーツは、Visual Studio の Visual Web Developer デザイナーを使用して作成する Web パーツです。 可視 Web パーツ プロジェクトは、可視 Web パーツ項目を含んだ空の SharePoint プロジェクトです。 詳細については、「SharePoint の Web パーツの作成」および「Creating Web Parts and Web Pages」を参照してください。

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

ここでは、それぞれの SharePoint プロジェクト項目テンプレートについて説明します。 プロジェクト項目を追加するには、ソリューション エクスプローラーでプロジェクトを選択し、[プロジェクト] メニューの [新しい項目の追加] をクリックします。

注意

SharePoint プロジェクト テンプレートと重複するプロジェクト項目テンプレートについては説明を省略します。

アプリケーション ページ

アプリケーション ページ項目は、SharePoint サイト用の ASP.NET Web ページをデザインするために使用できます。 詳細については、「方法: アプリケーション ページを作成する」および「Application _layouts Page Type (アプリケーションの _layouts ページ型)」を参照してください。

Business Data Connectivity モデル

Business Data Connectivity モデルは、SharePoint へのビジネス データの統合を可能にする項目です。 SQL Server、Siebel、Service Advertising Protocol (SAP) などのバック エンドのサーバー アプリケーションからのデータを使用できます。 詳細については、「方法: BDC モデルを作成する」および「What's New: Business Connectivity Services (新機能: ビジネス コネクティビティ サービス)」を参照してください。

Business Data Connectivity リソース項目

Business Data Connectivity リソース項目は、Business Data Connectivity (BDC) ソリューションにリソース ファイルを追加するために使用できます。 リソース ファイルを使用して、BDC モデルで定義されたオブジェクトのローカライズ済みの名前を指定できます。 また、プロパティを定義して、モデルで定義されているオブジェクトにアクセス許可を適用することもできます。 詳細については、「方法: リソース ファイルを使用して、ローカライズした名前、プロパティ、およびアクセス許可を指定する」および「What's New: Business Connectivity Services (新機能: ビジネス コネクティビティ サービス)」を参照してください。

空の要素

空の要素は一般的に、フィールドなど、Visual Studio のプロジェクト テンプレートまたはプロジェクト項目テンプレートを持たない SharePoint プロジェクト項目を定義するために使用します。プロジェクトに空の要素を追加すると、EmptyElement{x} というノードが作成されます ({x} は一意の番号)。 EmptyElement{x} には、Elements.xml という名前のファイルが 1 つ含まれています。XML ステートメントを使用して、必要な要素を Elements.xml に定義します。

グローバル リソース ファイル

リソース ファイルは、SharePoint アプリケーションで使用されているすべてのテキスト文字列を含んだ XML ベースのファイルです。 これにより、他の言語への翻訳を効率的に行うことができます。 詳細については、「SharePoint ソリューションのローカライズ」を参照してください。

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

既にプロジェクト内 (または SharePoint サーバー上) に存在するコンテンツ タイプに基づいて、新しいリスト定義を SharePoint プロジェクトに追加するために使用できます。

リスト インスタンス

リスト インスタンスは、再利用可能な基本のリスト定義の単一のインスタンスです (予定表、タスク リストなど)。 プロジェクトにリスト インスタンス プロジェクト項目を追加すると、ListInstance{x} というノードが作成されます ({x} は一意の番号)。 ListInstance{x} には、リスト インスタンスのプロパティを定義する Elements.xml という名前のファイルが 1 つ含まれています。 詳細については、「チュートリアル: カスタムのフィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成」および「Building Block: Lists and Document Libraries (構成要素: リストおよびドキュメント ライブラリ)」を参照してください。

ユーザー コントロール

ユーザー コントロール項目は、SharePoint で実行されるアプリケーション ページおよび Web パーツが使用できる再利用可能なカスタム コントロールを作成するために使用できます。 Visual Studio の Visual Web Developer デザイナーを使用してユーザー コントロールをデザインします。 詳細については、「方法: SharePoint アプリケーション ページまたは Web パーツのユーザー コントロールを作成する」「Building Block: Web Parts (構成要素: Web パーツ)」を参照してください。

可視 Web パーツ

可視 Web パーツ項目には、Web パーツ項目とユーザー コントロール項目が含まれています。 Web パーツの外観をデザインするには、Visual Studio のツールボックスからユーザー コントロールのサーフェイスにコントロールをドラッグします。詳細については、「方法: デザイナーを使用して SharePoint Web パーツを作成する」および「Building Block: Web Parts (構成要素: Web パーツ)」を参照してください。

Web パーツ

Web パーツ項目は、SharePoint サイト用の Web パーツをデザインするためのファイルを提供します。 詳細については、「方法: SharePoint Web パーツを作成する」「Building Block: Web Parts (構成要素: Web パーツ)」を参照してください。

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

ワークフロー関連付けフォームは、ワークフローを初めて特定のリストまたはドキュメント ライブラリに関連付けるときに、SharePoint サイト管理者に対して表示できる省略可能なフォームです。 シーケンシャル ワークフローまたはステート マシン ワークフローのアクティブ化を担当するサイト管理者は、このフォームを使用してアクティブ化の値を設定できます。

SharePoint プロジェクトにワークフロー関連付けフォームを追加すると、ASPX デザイナー ファイルと WorkflowAssociationForm{x}.aspx ({x} は一意の番号) の 2 つのファイルが作成されます。 また、デザイナー ファイルの下には、WorkflowAssociationForm{x}.cs (Visual C# プロジェクトの場合) または WorkflowAssociationForm{x}.vb (Visual Basic プロジェクトの場合) という名前の新しいコード ファイルも作成されます。 詳細については、「チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成」および「Workflow Association and Initialization Forms (ワークフローの関連付けと初期化フォーム)」を参照してください。

ワークフロー開始フォーム

ワークフロー開始フォームも、ワークフロー関連付けフォームと同様に、省略可能なフォームです。 SharePoint サイトのユーザーは、ドキュメントまたはリスト項目でワークフローをアクティブ化するときに、このフォームを使用して値を入力します。 ワークフロー開始フォーム プロジェクト項目をプロジェクトに追加すると、ASPX デザイナー ファイル、WorkflowInitiationForm{x}.aspx ファイル、および新しいコード ファイル (WorkflowInitiationForm{x}.cs または WorkflowInitiationForm{x}.vb) の 3 つのファイルが作成されます。 詳細については、「チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成」および「Workflow Association and Initialization Forms (ワークフローの関連付けと初期化フォーム)」を参照してください。

参照

その他の技術情報

SharePoint ソリューションの開発

SharePoint 2010