Я пытаюсь использовать System.Web.UI.TemplateControl.LoadControl для создания шаблонной веб-части для приложения SharePoint, и у меня возникают проблемы с элементом управления, который ссылается на внешнюю сборку.
У меня есть пользовательский элемент управления с первыми несколькими строками, такими как:
<%@ Control Language="C#" ClassName="MyControl" %>
<%@ Assembly Name="AjaxControlToolkit" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
Веб-часть является производной от базовой веб-части, которая реализует шаблоны и некоторые другие утилиты, которые находятся в сборке под названием «MyWebParts» (например), в то время как производный класс веб-части находится в «MyProject». MyProject имеет ссылку на «MyWebParts» (очевидно) и «AjaxControlToolkit», но «MyWebParts» не имеет ссылки на «AjaxControlToolkit». Во время выполнения, когда шаблонная веб-часть пытается загрузить пользовательский элемент управления (файл .ascx в корневой папке SharePoint «controltemplates»), она вызывает базовые методы, унаследованные между сборками, и выдает исключение HttpParseException, указывая, что она не может загрузить требуемую сборку. EventViewer подтверждает, что рассматриваемой сборкой является AjaxControlToolkit.
Я попытался добавить сборку AjaxControlToolkit в web.config для sharepoint, и он находится в GAC, но безрезультатно.
Кто-нибудь знает, как я могу это сделать, не имея ссылки на все существующие сборки в моей сборке "MyWebParts"?