SharePoint ソリューションの開発

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

SharePoint アドインについては、SharePoint アドインの作成に関するページを参照してください。

SharePoint プロジェクトの要素

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

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

特殊なノード

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

  • 特徴

  • Package

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

[Features] ノード

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

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

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

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

[Package] ノード

[Package] ノードには、SharePoint プロジェクトの配布メカニズムとして機能するファイルが 1 つだけ含まれています。 これは "ソリューション パッケージ" と呼ばれ、.WSP という拡張子を持つ .CAB ベースのファイルです。 ソリューション パッケージは、SharePoint サイトに適用される一連のフィーチャー、サイト定義、およびアセンブリを含んでいる配置可能で再利用可能なファイルであり、これは個別に有効または無効にできます。 [Package] ノードには、パッケージの 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 デバッグの概要」を参照してください。
パッケージにアセンブリを含める プロジェクト アセンブリをビルド時にパッケージ化するかどうかを指定します。
配置後コマンド ライン SharePoint ソリューションを配置した後で実行するコマンドを指定します。 この行では、MSBuild 変数が解決されさえすれば、どのようなバッチ コマンドでも指定できます。 詳細については、「 How to: Set SharePoint Deployment Commands」を参照してください。
配置前コマンド ライン SharePoint ソリューションを配置する前に実行するコマンドを指定します。 この行では、MSBuild 変数が解決されさえすれば、どのようなバッチ コマンドでも指定できます。 詳細については、「 How to: Set SharePoint Deployment Commands」を参照してください。
プロジェクト ファイル プロジェクトのビルド、構成、およびその他の情報を含むファイルの名前です。
プロジェクト フォルダー システム上のプロジェクト ファイルの場所。 システム テーブルは読み取り専用です。
Sandboxed Solution プロジェクトを サンドボックス ソリューション( ユーザー作成のソリューションとも呼ばれる) として配置するかどうかを指定します。 サンドボックス ソリューションは必ずしも信頼できません。 値が true の場合、プロジェクトはサンドボックス ソリューションとして配置され、 false の場合、プロジェクトはファーム ソリューションとして配置されます。 詳細については、次のトピックを参照してください。 Sandboxed Solution Considerations および Differences Between Sandboxed and Farm Solutions.
サイトの URL このプロジェクトのターゲット サイトの URL を指定します。
スタートアップ アイテム プロジェクトで最初に実行される項目を指定します。

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

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

プロパティ名 説明
配置競合の解決 配置するプロジェクト アイテムのプロパティが既にサーバー上にあるアイテムのプロパティと同じであった場合に実行される動作を指定します。 詳細については、「 Troubleshooting SharePoint Packaging and Deployment」を参照してください。
機能プロパティ フィーチャーが SharePoint に配置されるときに一緒に含まれる一連の値 (キー/値のペアとして格納されます) を指定します。 フィーチャーが配置されると、そのプロパティ値にコードでアクセスできるようになります。 詳細については、「 Providing Packaging and Deployment Information in Project Items」を参照してください。
フィーチャー レシーバー プロジェクト項目の対象フィーチャーで特定のイベントが発生した場合に実行されるコードが用意されています。 詳細については、「 Providing Packaging and Deployment Information in Project Items」を参照してください。
フォルダー名 SharePoint プロジェクト項目フォルダーの名前。
プロジェクト出力参照 プロジェクト項目の実行に必要な依存関係 (アセンブリなど) を指定します。 詳細については、「 Providing Packaging and Deployment Information in Project Items」を参照してください。
安全なコントロール エントリ 信頼関係のないユーザーが編集しても安全なコントロールを指定します。 詳細については、「 Providing Packaging and Deployment Information in Project Items」を参照してください。

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

プロパティ名 説明
ビルド アクション ファイルとビルド プロセスおよび配置プロセスの関係を指定します。 詳細については、「 ファイルのプロパティ」を参照してください。
出力ディレクトリにコピー 出力ディレクトリにソース ファイルをコピーするかどうかを指定します。 値は、次のいずれかです。

- コピーしない
- 常にコピーする
- 新しい場合はコピーする

詳細については、「 ファイルのプロパティ」を参照してください。
カスタム ツール デザイン時にファイルを変換し、変換の結果を別のファイルに出力するツールが存在する場合に、そのツールの名前を指定します。 たとえば、データセット (.XSD) ファイルでは既定のカスタム ツールを使用できます。 詳細については、「 ファイルのプロパティ」を参照してください。
カスタム ツールの名前空間 カスタム ツールの出力がコピーされる名前空間です。 詳細については、「 ファイルのプロパティ」を参照してください。
デプロイの場所 SharePoint サーバー上のファイルの完全修飾パス。 このパスは、[配置ルート] プロパティと [配置パス] プロパティで構成されます。
配置パス SharePoint サーバー ファイル上のファイルの相対パス (Workflow1\ など)。 ファイルの完全修飾パスは、 Deployment Path 値の末尾に Deployment Root 値を連結することによって作成されます。

Deployment Type プロパティに対して RootFile の値を選択すると、Deployment Root プロパティが <SharePointRoot>\ に変更され、その結果、完全修飾パスが <SharePointRoot>\Workflow1\ になります。 詳細については、「SharePoint ソリューションのパッケージ化と配置」を参照してください。
Deployment Root 文字列。 ファイルの配置先となる SharePoint Server 上のルート フォルダーです (<SharePointRoot>\Template\Features\<FeatureName>\ など)。

Deployment Root プロパティの値は、 Deployment Type の設定に依存します。
デプロイの種類 ファイルの配置の種類です。 Deployment Root 値に依存します。 値は、次のいずれかです。

NoDeployment: <値なし>

ElementManifest: <SharePointRoot>\Template\Features\<FeatureName>\

ElementFile: <SharePointRoot>\Template\Features\<FeatureName>\

TemplateFile: <SharePointRoot>\Template\

RootFile: <SharePointRoot>\

GlobalResource: <SharePointRoot>\Resources\

ClassResource: <ClassResourcePath>\

詳細については、DeploymentTypeを参照してください。
ファイル名 項目ファイルの名前またはフォルダーの名前です。
完全なパス 項目ファイルの場所です。 システム テーブルは読み取り専用です。
Title 説明
SharePoint プロジェクトとプロジェクト項目テンプレート Visual Studio で使用できる SharePoint プロジェクトおよびプロジェクト項目テンプレートについて説明します。
方法: SharePoint プロジェクトに項目を追加する 新規または既存の項目を Visual Studio SharePoint プロジェクトに追加する方法を説明します。
チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成 カスタム フィールド、コンテンツ タイプ、リスト定義、およびリスト インスタンスの作成手順について説明します。
方法: イベント レシーバーを作成する プロジェクト用のイベント レシーバーを追加する方法について説明します。このプロジェクトは、「チュートリアル: 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 サーバー上のリソースへのパス参照を追加するために使用できるダイアログ ボックスについて説明します。

関連項目