【问题标题】:Silverlight WebPart in SharePointSharePoint 中的 Silverlight WebPart
【发布时间】:2010-10-09 13:48:59
【问题描述】:

我正在为 SharePoint 创建一个 WebPart,它将实例化 Silverlight UserControl 并为其提供一些数据。我的问题是,当我创建了我的示例 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

【问题讨论】:

    标签: silverlight sharepoint web-parts file-not-found


    【解决方案1】:

    启用 SilverLight 需要大量的 Web 配置修改。这些是你加的吗?

    【讨论】:

    • 不能说我做了大量的web.config修改,我只添加了程序集“System.Web.Silverlight, Version=2.0.5.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35 “到 SafeControls。我还将这两种 mime 类型添加到 IIS。我还应该做其他修改吗?
    • 哦,我应该补充一下,当然我也将我的 webpart 添加为 SafeControl。我已经尝试在蓝图中添加 sectionGroup system.web.extensions&co,但我仍然得到“找不到文件”。
    • 感谢您的提示,连同下面的链接,我能够以应有的方式获取此文件。 :-)
    【解决方案2】:

    您好,我找到了有关如何让 Silverlight Web 部件在您的应用程序上运行的完整演练:http://www.vbforums.com/archive/index.php/t-557072.html

    如您所见,除了程序集注册之外,web.config 中还添加了一些内容。

    【讨论】:

    • 感谢您提供的链接,我会彻底检查并回复您的结果 :-)
    • 这个页面非常适合指出需要进入 Web.Config 的确切内容,非常感谢。 :-) 我不知道我错过了那么多。此外,即使我已经检查并再次检查,GAC 中缺少 DLL,这可能给了我“找不到文件”。例外。非常感谢!
    【解决方案3】:

    silverlight 控件的存储文件夹可能存在问题。您必须在 web.config 中将此存储的路径注册为安全的(例如,在 web.config 行中使用“~/controltemplates”查找)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-29
      • 2014-09-28
      • 2010-10-12
      • 1970-01-01
      • 2011-10-24
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多