SharePoint ソリューションの開発

Visual Studio には、SharePoint サイトおよびサイト要素を作成するための SharePoint プロジェクトの種類のテンプレートがいくつか用意されています。 使用できるプロジェクトの種類の一覧については、「SharePoint プロジェクトとプロジェクト項目テンプレート」を参照してください。 次に、SharePoint プロジェクトの要素およびプロパティについて説明します。

SharePoint プロジェクトの要素

SharePoint プロジェクトのノードは、SharePoint アイテムと呼ばれます。 また、SharePoint アイテムには、SharePoint アイテム ファイルと呼ばれる 1 つ以上のサブ ファイル (XML 構成ファイル、.aspx フォームなど) が含まれる場合があります。

プロジェクト項目ファイルから成るプロジェクト テンプレートを使用してプロジェクトを作成する代わりに、[空のプロジェクト] テンプレートを使用して、空の SharePoint プロジェクトを作成し、それにプロジェクト項目を手動で追加することもできます。 SharePoint プロジェクトには、必要に応じて 1 つ以上のフィーチャー ファイル (SharePoint でのアクティブ化に使用) およびパッケージ ファイル (プロジェクトの配布に使用) を含めることができます。

特殊なノード

すべての SharePoint プロジェクトに、名前変更、削除、切り取り、コピー、プロジェクトからのドラッグなどの操作ができないノードが 2 つ含まれています。 これらのノードを次に示します。

  • 機能

  • パッケージ

プロジェクトにフィーチャーまたはパッケージが定義されているかどうかに関係なく、この 2 つのノードはすべての SharePoint プロジェクトに必ず表示されます。

[フィーチャー] ノード

[フィーチャー] ノードには、SharePoint プロジェクトのフィーチャーが 1 つ以上含まれています。 フィーチャーとは、SharePoint の拡張機能のコンテナーのことです。 SharePoint サーバーにフィーチャーを配置すると、SharePoint サイトの SharePoint 管理者が、そのフィーチャーをサイト定義に追加したり、個別にアクティブ化したりすることができます。 詳細については、「フィーチャーを操作する」を参照してください。

コンテンツ タイプやリスト インスタンスなどのアイテムを SharePoint プロジェクトに追加すると、[フィーチャー] ノード内のフィーチャーに追加されます。 新しいフィーチャーに追加されるか、既存のフィーチャーに追加されるかは、そのアイテムのスコープによって決まります。 新しい項目が既存のフィーチャーと同じスコープを持つ場合は、そのフィーチャーに追加されます。 それ以外の場合は、新しいフィーチャーに追加されます。

フィーチャーを手動で追加するには、そのフィーチャー ノードのショートカット メニューから [フィーチャーの追加] コマンドを実行します。 フィーチャーの内容は、フィーチャー デザイナーを使用して表示または変更することができます。 詳細については、「方法: SharePoint フィーチャーをカスタマイズする」を参照してください。

SharePoint プロジェクトに追加したフィーチャーは、"Featurex.feature" (x は一意の番号) という既定の名前を持つノードとしてソリューション エクスプローラーに表示されます。 SharePoint Server にフィーチャーが配置されると、SharePoint 管理者は SharePoint サイト ユーザーが使用できるようにそれをアクティブ化することができます。

[パッケージ] ノード

[パッケージ] ノードには、SharePoint プロジェクトの配布メカニズムとして機能するファイルが 1 つだけ含まれています。 これはソリューション パッケージと呼ばれ、.WSP という拡張子を持つ .CAB ベースのファイルです。 ソリューション パッケージは、SharePoint サイトに適用される一連のフィーチャー、サイト定義、およびアセンブリを含んでいる配置可能で再利用可能なファイルであり、これは個別に有効または無効にできます。 [パッケージ] ノードには、パッケージの XML 定義ファイルである Package.wspdef というファイルも必ず含まれています。 パッケージが SharePoint サーバーに配置されると、SharePoint 管理者はそれをインストールしてその機能をアクティブにできます。

[パッケージ] ノードをダブルクリックすると、そのパッケージがパッケージ デザイナーで開きます。 表示された内容を閲覧したり変更したりすることができます。 詳細については、「SharePoint ソリューション パッケージの作成」を参照してください。

SharePoint プロジェクトとプロジェクト項目のプロパティ

SharePoint プロジェクトでは、他の Visual Studio プロジェクトと同様、[プロパティ] ウィンドウおよび [プロパティ] ページにプロパティが表示されます。 表示されるプロパティは、選択したノードによって異なります。

ソリューション エクスプローラーで SharePoint プロジェクト ノード、プロジェクト項目ノード、またはプロジェクト項目ファイル ノードを選択すると、次のプロパティが [プロパティ] ウィンドウまたは [プロパティ] ページに表示されます。

プロジェクトのプロパティ

プロパティ名

説明

アクティブな配置構成

配置中に実行される一連の手順を指定します。 詳細については、「方法: SharePoint の配置構成を編集する」を参照してください。

アセンブリの配置先

SharePoint アプリケーション アセンブリの場所を決定します。 アセンブリの場所として有効な値は、GlobalAssemblyCache (既定値) または WebApplication です。

Sandboxed Solution プロパティが true に設定されている場合、このプロパティは無効です。

デバッグ後に自動取り消し

Visual Studio のデバッグ モードでアプリケーションを実行した後、配置されたソリューションを SharePoint から自動的に取り消すかどうかを指定します。 オンにすると、デバッグ後に IDE がデザイン ビューに戻ると、ソリューションは取り消されます。 オフにすると、ソリューションは取り消されません。 詳細については、「ソリューションを取り消す」を参照してください。

構成の編集

プロジェクトに使用する配置の構成を指定します。 詳細については、「方法: SharePoint の配置構成を編集する」および「SharePoint ソリューション パッケージの配置」を参照してください。

Script デバッグの代わりに Silverlight デバッグを有効にする

オンにすると、Silverlight デバッガーがデバッグ プロセスにアタッチされます。 オフにすると、スクリプト デバッガーがデバッグ プロセスにアタッチされます。 詳細については、「Silverlight Debugging Overview (Silverlight デバッグの概要)」を参照してください。

パッケージにアセンブリを含める

プロジェクト アセンブリをビルド時にパッケージ化するかどうかを指定します。

配置後コマンド ライン

SharePoint ソリューションを配置した後で実行するコマンドを指定します。 この行では、MSBuild 変数が解決されさえすれば、どのようなバッチ コマンドでも指定できます。 詳細については、「方法: SharePoint の配置コマンドを設定する」を参照してください。

配置前コマンド ライン

SharePoint ソリューションを配置する前に実行するコマンドを指定します。 この行では、MSBuild 変数が解決されさえすれば、どのようなバッチ コマンドでも指定できます。 詳細については、「方法: SharePoint の配置コマンドを設定する」を参照してください。

プロジェクト ファイル

プロジェクトに関するビルド、構成、およびその他の情報を含むファイルの名前。

プロジェクト フォルダー

システム上のプロジェクト ファイルの場所。 システム テーブルは読み取り専用です。

サンドボックス ソリューション

サンドボックス ソリューション (ユーサー作成のソリューション) としてプロジェクトを配置するかどうかを指定します。 サンドボックス ソリューションは必ずしも信頼できません。 値が true の場合、プロジェクトはサンドボックス ソリューションとして配置され、false の場合、プロジェクトはファーム ソリューションとして配置されます。 詳細については、「サンドボックス ソリューションの考慮事項」および「サンドボックス ソリューションとファーム ソリューションの違い」を参照してください。

サイト URL

このプロジェクトの対象サイトの URL を指定します。

スタートアップ項目

プロジェクトで最初に実行される項目を指定します。

SharePoint アイテム ファイル (ワークフローや [フィーチャー] ノードのフィーチャーなど) が選択されているときは、次のプロパティが [プロパティ] ウィンドウに表示されます。

プロジェクト項目のプロパティ

プロパティ名

説明

配置競合の解決

サーバー上に既にある項目のプロパティと同じプロパティを持つプロジェクト項目を配置するときに実行するアクションを指定します。 詳細については、「SharePoint のパッケージ化と配置のトラブルシューティング」を参照してください。

フィーチャーのプロパティ

フィーチャーが SharePoint に配置されるときに一緒に含まれる一連の値 (キー/値のペアとして格納されます) を指定します。 フィーチャーが配置されると、そのプロパティ値にコードでアクセスできるようになります。 詳細については、「プロジェクト項目でのパッケージ化と配置の情報の提供」を参照してください。

フィーチャー レシーバー

プロジェクト項目の対象フィーチャーで特定のイベントが発生した場合に実行されるコードが用意されています。 詳細については、「プロジェクト項目でのパッケージ化と配置の情報の提供」を参照してください。

フォルダー名

SharePoint プロジェクト項目フォルダーの名前。

プロジェクト出力参照

プロジェクト項目の実行に必要な依存関係 (アセンブリなど) を指定します。 詳細については、「プロジェクト項目でのパッケージ化と配置の情報の提供」を参照してください。

安全なコントロール エントリ

信頼関係のないユーザーが編集しても安全なコントロールを指定します。 詳細については、「プロジェクト項目でのパッケージ化と配置の情報の提供」を参照してください。

プロジェクト項目ファイルのプロパティ

プロパティ名

説明

ビルド アクション

ファイルとビルド プロセスおよび配置プロセスの関係を指定します。 詳細については、「ファイルのプロパティ」を参照してください。

出力ディレクトリにコピー

出力ディレクトリにソース ファイルをコピーするかどうかを指定します。 次のいずれかの値になります。

  • Do not copy

  • Copy always

  • Copy if newer

詳細については、「ファイルのプロパティ」を参照してください。

カスタム ツール

デザイン時にファイルを変換し、変換の結果を別のファイルに出力するツールが存在する場合に、そのツールの名前を指定します。 たとえば、データセット (.XSD) ファイルには、既定のカスタム ツールがあります。詳細については、「ファイルのプロパティ」を参照してください。

カスタム ツールの名前空間

カスタム ツールの出力がコピーされる名前空間です。 詳細については、「ファイルのプロパティ」を参照してください。

配置場所

SharePoint サーバー上のファイルの完全修飾パス。 このパスは、[配置ルート] プロパティと [配置パス] プロパティで構成されます。

配置パス

SharePoint Server 上のファイルの相対パスです (Workflow1\ など)。 ファイルの完全修飾パスは、Deployment Root 値の末尾に Deployment Path 値を連結することによって作成されます。

Deployment Type プロパティの値に RootFile を選択した場合、Deployment Root プロパティが {SharePointRoot}\ に変更され、その結果、完全修飾パスが {SharePointRoot}\Workflow1\ になります。 詳細については、「SharePoint ソリューションのパッケージ化と配置」を参照してください。

配置ルート

文字列。 ファイルの配置先となる SharePoint Server 上のルート フォルダーです ({SharePointRoot}\Template\Features\{FeatureName}\ など)。

Deployment Root プロパティの値は、Deployment Type の設定に依存します。

配置タイプ

ファイルの配置の種類です。Deployment Root 値に依存します。 次のいずれかの値になります。

列挙値 Deployment Root 値
NoDeployment<値なし>
ElementManifest{SharePointRoot}\Template\Features\{FeatureName}\
ElementFile{SharePointRoot}\Template\Features\{FeatureName}\
TemplateFile{SharePointRoot}\Template\
RootFile{SharePointRoot}\
GlobalResource{SharePointRoot}\Resources\
ClassResource{ClassResourcePath}\

詳細については、「DeploymentType」を参照してください。

ファイル名

項目ファイルの名前またはフォルダーの名前です。

完全パス

項目ファイルの場所です。 システム テーブルは読み取り専用です。

関連トピック

タイトル

説明

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

Visual Studio で使用できる SharePoint プロジェクトおよびプロジェクト項目テンプレートについて説明します。

方法: SharePoint プロジェクトに項目を追加する

新規または既存の項目を Visual Studio SharePoint プロジェクトに追加する方法を説明します。

チュートリアル: カスタムのフィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成

カスタム フィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成手順について説明します。

方法: イベント レシーバーを作成する

チュートリアル: カスタムのフィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成」で作成したプロジェクトのイベント レシーバーを追加する方法を説明します。

SharePoint ワークフロー ソリューションの作成

ワークフローの関連付けフォームおよびワークフローの開始フォームを含んだワークフロー プロジェクトの作成方法を説明します。

SharePoint 用ページの作成

SharePoint 用のアプリケーション ページ、サイト ページ、マスター ページなどのページと、ページ レイアウトの作成方法について説明します。

SharePoint の Web パーツの作成

ユーザーがブラウザーから SharePoint サイト ページのコンテンツ、外観、および動作を直接変更できるようにするコントロールを追加する方法について説明します。

Web パーツまたはアプリケーション ページの再利用できるコントロールの作成

SharePoint で実行されるアプリケーション ページと Web パーツで使用できるユーザー コントロールの作成方法について説明します。

SharePoint へのビジネス データの統合

Web サービスとバック エンド サーバー アプリケーションのデータを SharePoint アプリケーションに統合する方法を説明します。

SharePoint のサイト定義の作成

サイト定義 (SharePoint サイトを作成するために使用されるテンプレート) を作成する方法を説明します。

既存の SharePoint サイトからのアイテムのインポート

既存の SharePoint サイトから Visual Studio SharePoint プロジェクトにコンテンツ タイプやモジュールなどの項目をインポートする方法を説明します。

モジュールを使用してソリューションにファイルを追加する

モジュールを使用して Visual Studio プロジェクトのファイルを SharePoint サイトに配置する方法を説明します。

サーバー エクスプローラーを使用した SharePoint 接続の参照

サーバー エクスプローラーを使用してローカルの SharePoint サイトを閲覧する方法について説明します。

プロジェクト項目でのパッケージ化と配置の情報の提供

プロジェクト項目のプロパティを使用して、プロジェクトのパッケージ化と配置に関する情報を提供する方法について説明します。たとえば、コントロール エントリ、プロジェクト出力参照、フィーチャーのプロパティなどです。

方法: マップされたフォルダーを追加および削除する

SharePoint のリソースに容易にアクセスできるよう、マップされたフォルダーをプロジェクトに追加する方法を説明します。

サンドボックス ソリューションの考慮事項

サンドボックス ソリューションに関連した問題について説明します。

SharePoint ソリューションのセキュリティ

Visual Studio で SharePoint ソリューションを開発する際のセキュリティ上の考慮事項について説明します。

URL ピッカー ダイアログ ボックス (Visual Studio での SharePoint 開発)

プロジェクト内またはローカル SharePoint サーバー上のリソースへのパス参照を追加するために使用できるダイアログ ボックスについて説明します。

参照

概念

はじめに (Visual Studio での SharePoint 開発)

SharePoint ソリューションのビルドとデバッグ

SharePoint ソリューションのパッケージ化と配置

その他の技術情報

サーバー エクスプローラーを使用した SharePoint 接続の参照