我正尝试使用System.Web.UI.TemplateControl.LoadControl为SharePoint应用程序构建模板化Web部件,并且遇到引用外部装配的控件时遇到问题。装配参考控制上的LoadControl
我与前几行这样的用户控制:
<%@ Control Language="C#" ClassName="MyControl" %>
<%@ Assembly Name="AjaxControlToolkit" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
腹板部从实现模板和其他一些公用事业这是在所谓的“MyWebParts”的组件(基web部件导出例如),而派生的Web部件类位于“MyProject”中。 MyProject有一个“MyWebParts”(显然)和“AjaxControlToolkit”的引用,但“MyWebParts”没有引用“AjaxControlToolkit”。在运行时,当模板Web部件尝试加载用户控件(“controltemplates”SharePoint根文件夹中的.ascx文件)时,它会调用它在程序集中继承的基本方法,并且会抛出HttpParseException,指示它无法' t加载所需的组件。 EventViewer确认所讨论的程序集是AjaxControlToolkit。
我试着将AjaxControlToolkit程序集添加到web.config的sharepoint,它坐在GAC中,但无济于事。
任何人都知道如何在不参考我的“MyWebParts”程序集中存在的每个程序集的情况下做到这一点?
我试过了,但没有奏效。 (当我说“我尝试将AjaxControlToolkit程序集添加到web.config中时,这就是我的意思......”)。还是)感谢你的建议。 – 2009-10-28 13:02:03
是否有版本差异?因为我以前做的事情是在我自己的visual studio项目中包含ajaxcontroltoolkit项目。似乎ajaxcontroltoolkit项目每次创建它时都会更新它自己的版本号(所以它会在测试中生成/运行,因为您始终引用最新版本),但是如果部署了它,可能是您的项目引用了新版本,而旧版本的ajaxcontroltoolkit位于GAC中。 – Colin 2009-10-28 13:32:15