Пользовательский элемент управления в проекте веб-приложения .net - PullRequest
5 голосов
/ 08 октября 2009

У меня есть несколько пользовательских элементов управления, которые были созданы как проекты серверных элементов управления. Мне нужно было внести несколько изменений, поэтому я просто добавил классы в существующий проект веб-приложения, чтобы все было в одном месте. Этот проект веб-приложения скомпилирован в dll, который используется в нескольких веб-проектах.

Когда я собираю проект веб-приложения и помещаю dll в корзину другого веб-сайта, когда я использую элемент управления, я получаю следующую ошибку:

Неизвестный тег сервера 'CustomControls: RadioButtonListForGrid'

Если я добавлю пользовательские классы элементов управления в папку app_code на моем веб-сайте, все будет работать нормально. Я использовал объектный браузер и подтвердил, что эти классы находятся в dll.

Я что-то упускаю здесь очевидное? Нужно ли оставлять их как проекты управления сервером и объединять библиотеки DLL с помощью ILmerge?

EDIT

Оказывается, мне нужно было добавить имя сборки. Также оказывается, что сборка не была названа так, как я думал. Думаю, я должен проверить это. К сожалению.

Ответы [ 2 ]

4 голосов
/ 08 октября 2009

Вы добавили префикс тега в web.config?

<pages>
  <controls>
    <add tagPrefix="CustomControls" namespace="MyApp.CustomControls" ...
2 голосов
/ 30 сентября 2010

Я могу это подтвердить, добавив имя сборки в директиву Register, работает! Так что это обязательно, даже если это та же сборка.

...