1

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 が見つけられないファイルは何ですか? また、そのファイルについて何ができますか?

エラーメッセージは次のとおりです。

http://www.freeimagehosting.net/uploads/2dca8dbdfb.png

4

3 に答える 3

2

こんにちは、Silverlight Web パーツをアプリケーションで実行する方法に関する完全なチュートリアルを見つけました: http://www.vbforums.com/archive/index.php/t-557072.html

ご覧のとおり、アセンブリ登録のほかに、web.config にさらにいくつかのものが追加されています。

于 2009-02-25T15:38:32.507 に答える
1

SilverLight を有効にするには、大量の Web 構成の変更が必要です。それらを追加しましたか?

于 2009-02-24T16:04:24.870 に答える
0

Silverlight コントロールのストレージ フォルダーに問題がある可能性があります。このストレージへのパスを安全なものとして web.config に登録する必要があります (たとえば、web.config 行で "~/controltemplates" を使用して検索します)。

于 2009-08-13T08:52:31.643 に答える