Я разрабатываю ряд модулей для клиента, которые будут использовать некоторые функциональные возможности пользовательского интерфейса, используя общий пользовательский веб-элемент управления для предоставления пользовательского интерфейса. Когда я написал первый модуль и добавил его в файл .ascx, все было хорошо. Когда я добавляю тот же элемент управления ко второму модулю, я получаю следующую ошибку:
DotNetNuke.Services.Exceptions.ModuleLoadException:
Тип
'XXX.ParametersControl.ParameterTabControl'
неоднозначно: это может прийти из
сборка
'C: \ Clients \ XXX \ Code \ Отчеты \ DotNetNuke_BaseInstall \ Bin \ XXX.KPI_Configurable_Chart.DLL'
или из сборки
'C: \ Clients \ XXX \ Code \ Отчеты \ DotNetNuke_BaseInstall \ Bin \ XXX.Survey_Grid.DLL. Пожалуйста, укажите сборку явно
в имени типа.
Оба модуля устанавливаются и работают без дополнительной настройки пользовательского интерфейса.
Я разработал элемент управления пользовательского интерфейса как отдельный проект, который компилирует свою собственную DLL для включенной серверной функциональности, а затем развертывает приложение только скомпилированной DLL и файлом ASCX элемента управления в установочных файлах модуля.
Включение в основной модуль ASCX осуществляется следующим образом:
<% @ Регистрация
SRC = "ParameterControl / ParameterTabControl.ascx"
Тэг = "ParameterTabControl"
tagprefix = "uc1"%>
Как видите, я включаю управление интерфейсом, получая его из подкаталога, который я реализую как внешний Subversion.
Я ссылаюсь на объекты и свойства элемента управления в коде .vb основного модуля следующим образом:
ParameterTabControl1.DateRangeTabVisible = True
If (ParameterTabControl1.StartDate Is Nothing) Then
ParameterTabControl1.StartDate = DateAdd(DateInterval.Day, -90, Now)
End If
Какие-нибудь советы о том, как спроектировать это, чтобы этого не произошло? Какой-нибудь способ заставить субконтроль ASCX подключаться только к своей собственной DLL и не быть привязанным к основному элементу управления модуля, в то же время позволяя мне запрашивать свойства и объекты в элементе управления для установки и получения его свойств?