Это беспокоило меня все утро, и я даже не могу понять, где ошибка.
На текущем веб-сайте, который я разрабатываю (это не веб-приложение, в случае, если оно имеет значение, существуют пользовательские элементы управления, объявленные следующим образом:
<controls>
<add tagPrefix="uc1" tagName="TransitLinkAdmin" src="~\controls\TransitLinkAdmin.ascx"/>
<add tagPrefix="uc1" tagName="TransitLinkList" src="~\controls\TransitLinkList.ascx"/>
<add tagPrefix="uc1" tagName="WelcomeMessageAdmin" src="~\controls\WelcomeMessageAdmin.ascx"/>
<add tagPrefix="uc1" tagName="WelcomeMessageDisplay" src="~\controls\WelcomeMessageDisplay.ascx"/>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
Пока все хорошо, верно?
Но когда я пытаюсь добавить один из этих элементов управления на страницу, я получаю сообщение об ошибке, сообщающее, что этот элемент управления не найден. Так почему же, когда я запускаю страницу, я могу использовать элемент управления?
Дизайнер говорит мне, что он не может найти файл пользовательского элемента управления и использует путь из файла web.config, поэтому он должен каким-то образом смотреть на него.
Если я зарегистрирую элемент управления прямо на странице, проблем не будет.
Мое предположение (и мы теперь, как это работает) заключается в том, что существует некоторая ошибка компиляции для сайта в целом, которая препятствует работе intellisense.
Заранее спасибо, все.