Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint中的Silverlight Web部件_Silverlight_Sharepoint_Web Parts_File Not Found - Fatal编程技术网

SharePoint中的Silverlight Web部件

SharePoint中的Silverlight Web部件,silverlight,sharepoint,web-parts,file-not-found,Silverlight,Sharepoint,Web Parts,File Not Found,我正在为SharePoint制作一个Web部件,它将实例化Silverlight用户控件并向其提供一些数据。我的问题是,当我创建示例Web部件并仅实例化Silverlight控件时,该Web部件在添加到页面或显示在Web部件库中时,不会呈现空白,而是呈现一个错误页面,显示“未找到文件”。日志文件中没有关于未找到哪个文件或引发此错误的原因的线索。这是我的密码: using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebP

我正在为SharePoint制作一个Web部件,它将实例化Silverlight用户控件并向其提供一些数据。我的问题是,当我创建示例Web部件并仅实例化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()更改为:

我也犯了同样的错误。此外,如果删除sl.Source中的第一个斜杠,则会出现相同的错误,即使该文件与SharePoint位于同一应用程序池中的虚拟目录中。因此,我认为找不到的文件不是我的XAP,因为这个错误只是在实例化Silverlight对象时出现的

SharePoint找不到什么文件?我可以对此做些什么

以下是错误消息:


启用SilverLight需要大量的web配置修改。您添加了这些吗?

您好,我找到了关于如何让Silverlight web部件在您的应用程序上运行的完整演练:


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

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

我不能说我对web.config进行了大量修改,我只是在SafeControls中添加了程序集“System.web.Silverlight,Version=2.0.5.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。我还将这两种mime类型添加到IIS中。我还应该做其他修改吗?哦,我补充说,当然我也添加了我的Web部件作为安全控件。我曾尝试在蓝图中添加sectionGroup system.web.extensions&co之类的内容,但仍然得到“找不到文件”。感谢您的提示,再加上下面的链接,我能够以应有的方式获取此文件。:-)感谢您提供的链接,我会仔细阅读,并将结果反馈给您:-)此页面非常适合指出进入Web.Config所需的内容,非常感谢:-)我不知道我错过了那么多。此外,即使我已经检查并再次检查了,GAC中的DLL还是丢失了,这可能给了我“找不到文件”的异常。谢谢!
protected override void CreateChildControls() {
  Silverlight sl = new Silverlight();
  sl.ID = "CustomWebPart1SL";
  sl.Source = "/Silverlight/CustomWebPart.xap";
  this.Controls.Add(sl);
}