2012年3月15日 (木)

[Tips] サンドボックス対応 SharePoint Web パーツの開発時のチェックリスト

SharePoint 2010 で利用できるようになった「サンドボックス ソリューションとして展開できるWebパーツ」ですが、開発中に色々と注意しないといけないことがあります。

ソリューション開発時のチェックリスト

ソリューションを展開する前に確認しておきたい項目は次のとおりです。

*.cs ファイル

名前空間と型名(クラス名)が正しいかを確認する

*.webpart ファイル

metadataq セクションで指定する type 要素には、正しい方が指定されていること。これが間違っていると、Webパーツを配置しようとしても、エラーが表示され追加できない。

*.spdata ファイル

ファーム ソリューションの場合にはIIS側の SharePoint ルート仮想ディレクトリ内のWeb.configに SafeControl エントリーを追加されますが、サンドボックス ソリューションではWeb.config には直接追加されません。しかし、開発時には隠しファイル内にSafeContolエントリーを記述するようになっています。

Visual Studio 2010 のソリューション エクスプローラーで[すべてのファイルを表示]をクリックすると、Webパーツのフォルダー内には隠しファイルとして *.spdata が生成されており (これは分かりにくい!!) 、この中に SafeControl エントリーが記載されています。*.cs 内の名前空間変更時には併せてこちらも確認しておきましょう (特に Namespace) 。

Spdata

たとえば *.spdata ファイル内の記述が正しくないと次のようにWebパーツに表示されてしまいます。

「Web パーツ エラー: 部分的に信頼されているアプリケーション ドメインで、セキュリティで保護されたコード ラッパーの実行メソッドから未処理の例外がスローされました: この種類は安全なコントロールとして登録されていません。

SPUserCodeSolutionExecutionFailedException: 部分的に信頼されているアプリケーション ドメインで、セキュリティで保護されたコード ラッパーの実行メソッドから未処理の例外がスローされました: この種類は安全なコントロールとして登録されていません。... (以下、略) ]

[参考] http://www.alexbruett.net/?p=261

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255611

[Tips] サンドボックス対応 SharePoint Web パーツの開発時のチェックリストを参照しているブログ:

コメント