Silverlight UserControl をインスタンス化し、いくつかのデータを供給する SharePoint 用の WebPart を作成しています。私の問題は、サンプル WebPart を作成し、Silverlight コントロールをインスタンス化するだけで、Web パーツがページに追加されたり、Web パーツ ギャラリーに表示されたりすると、空白で表示されるのではなく、「ファイルが見つかりません」というエラー ページが表示されることです。どのファイルが見つからなかったか、またはこのエラーがスローされた理由について、ログファイルに手がかりはありません。これが私のコードです:
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.SilverlightControls;
namespace TestSLWP {
public class CustomWebPart1 : WebPart {
protected override void CreateChildControls() {
Label lblHello = new Label();
lblHello.Text = "Hello";
Controls.Add(lblHello);
Silverlight sl = new Silverlight();
}
}
}
System.Web.Extensions と System.Web.Silverlight への参照をプロジェクトに追加しました。これらは GAC にあり、Web パーツは、SharePoint が存在する同じコンピューターで作成およびコンパイルされます。CreateChildControls() を次のように変更すると:
protected override void CreateChildControls() {
Silverlight sl = new Silverlight();
sl.ID = "CustomWebPart1SL";
sl.Source = "/Silverlight/CustomWebPart.xap";
this.Controls.Add(sl);
}
同じエラーが発生します。また、sl.Source の最初のスラッシュを削除すると、ファイルが SharePoint と同じアプリケーション プールの仮想ディレクトリに存在する場合でも、同じエラーが発生します。したがって、Silverlight オブジェクトをインスタンス化するだけでエラーが発生するため、見つからないファイルは XAP ではないと考えています。
SharePoint が見つけられないファイルは何ですか? また、そのファイルについて何ができますか?
エラーメッセージは次のとおりです。