У меня есть стандартный проект веб-сайта и проект веб-развертывания в VS2010. Я использую этот проект и пакет развертывания около 4 лет без проблем.
Для пакета развертывания установлено «Объединение всех страниц и управление выходами в одну сборку».
Не было проблем с этой настройкой в течение 3-4 лет, до сих пор!
В последней версии веб-сайта я добавил папку с несколькими страницами и еще одну папку с 3 пользовательскими элементами управления. Теперь, когда я собираю пакет развертывания, 2 из 3 пользовательских элементов управления компилируются в свои собственные библиотеки DLL, остальные компилируются, как и ожидалось. , Я проверил пространство имен в коде за страницами всех трех элементов управления, и они все одинаковые и не могут найти где-нибудь, где он будет указывать компилятору компилировать эти два элемента управления, а не другие?
Мой элемент управления находится в пространстве имен G2F.Forms.Controls.FormDefintitionListItemControl (который отражает структуру папки и имя элемента управления).
У меня есть страница, на которой нужно получить ссылку на один из этих элементов управления и который использует:
.FindControl ("IdName") как MyControl
Код работает нормально при использовании веб-сайта или запуске проекта, но при компиляции веб-сайта приведенный выше код возвращает значение null, поскольку теперь элемент управления имеет тип ASP.forms_controls_formdefinitionlistitemcontrol_ascx.
Этот и еще один элемент управления являются единственными, которые компилируются таким образом, и в решении имеется около 40-50 других элементов управления.