создание DLL веб-контроля пользователя - PullRequest
2 голосов
/ 08 декабря 2010

Как мне сделать dll из моего веб-приложения usercontrol? У меня есть usercontrol222.ascx, но я хочу сделать dll из этого usercontrol.

Ответы [ 3 ]

4 голосов
/ 08 декабря 2010

Создайте проект, содержащий только ваш пользовательский элемент управления ("usercontrol222.ascx"), и извлеките dll элемента управления из развертывания вашего нового проекта. Вот источник этого метода с более полным объяснением: Превращение пользовательского элемента управления .ascx в распространяемый пользовательский элемент управления (Ниже приведены известные выдержки, см. Ссылку для полного ознакомления).

Шаг 3. Использование команды публикации для предварительной компиляции сайта

Следующим шагом будет использование нового Команда Publish для предварительной компиляции сайт и превратить ваш пользовательский контроль в потенциальный таможенный контроль. Ты найдешь команда под Build / Publish Web Сайт. В диалоговом окне «Опубликовать» выполните следующее:

  • Выберите целевое местоположение. Это место на вашем жестком диске, что ваш сайт будет предварительно скомпилирован в.
  • Снимите флажок «Разрешить обновление этого предварительно скомпилированного сайта». В обновляемых режим, только код файла (если любой) будет скомпилирован, и ascx будет оставлен необработанным. Это полезно в некоторых сценариях, но не что вы хотите здесь, так как вы хотите Полученная DLL должна быть автономной.
  • Выберите «Использовать фиксированные имена и одностраничные сборки». Это будет гарантировать что ваш пользовательский контроль будет собраны в одну сборку, которая будет иметь имя на основе ascx файл. Если вы не отметите эту опцию, ваш пользовательский элемент управления может быть скомпилирован вместе с другими страницами и пользователем контроли (если у вас были некоторые), и сборка получит случайное имя это было бы сложнее работать с.

Шаг 4. Поиск результирующего пользовательского элемента управления

Теперь, используя Windows Проводник или окно командной строки, давайте перейдем в каталог, который вы указан как цель, чтобы мы могли видеть что было сгенерировано. Вы увидите количество файлов там, но давайте сосредоточимся на тот, который имеет отношение к нашему цель превратить пользовательский элемент управления в пользовательский элемент управления.

В каталоге "bin" вы найдете файл с именем что-то вроде App_Web_MyTestUC.ascx.cdcab7d2.dll. Вы в основном сделали, как этот файл Ваш пользовательский элемент управления преобразован в пользовательский контроль! Единственная вещь что осталось сделать, это на самом деле использовать это.

2 голосов
/ 08 декабря 2010

Вы не можете.Пользовательские элементы управления предназначены для упрощенного сценария, в котором вы не хотите создавать пользовательский элемент управления.У них есть недостаток, заключающийся в том, что файл .ascx и любые другие артефакты (изображения, стили и т. Д.) Должны быть включены в каждый веб-сайт, использующий пользовательский элемент управления.

Если вам необходимо полное повторное использование между проектами, тогда вам нужносоздать собственный элемент управления.На самом деле это не так сложно, если вы прямо переведите пользовательский элемент управления в пользовательский элемент управления.

0 голосов
/ 08 декабря 2010

Возможно, вы захотите взглянуть на разработку собственных серверных элементов управления. Смотрите следующее подобное обсуждение: ASP.NET Web User Control Library .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...