2009-02-26 2 views
0

Это было давало мне покоя все утро, и я даже не могу понять, где ошибка.Регистрация пользовательских элементов управления в web.config показывает ошибку, но элементы управления работать в любом случае

В текущем веб-сайте я разрабатываю (это не веб-приложение, в случае, если это имеет значение, есть пользовательские элементы управления, объявленные следующим образом:

<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.

Заранее спасибо, все.

ответ

1

Просто полное предположение, но, возможно, это происходит потому, что вы используете обратные слэши вместо слэша? Попытка:

<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"/> 
+0

DOH !!! Nice улов. Мой партнер и я смотрели на это все утро. – KevDog

1

Вы используете resharper? Я не уверен, какая версия, но где-то по пути произошел этот артефакт. попробуйте обновить до последней версии. Кстати, у них есть программа раннего доступа, где вы можете загружать сборки (достойное качество) и обновляться с последними функциями и исправлениями. link to early access program

0
  1. Закрыть Visual Studio
  2. Переместить в место:

    В Windows 7:

    C: \ Users \ Павел \ AppData \ Roaming \ Microsoft \ VisualStudio \ 10.0 \ ReflectedSchemas

    В Windows XP:

    C: \ Documents и Settings [ваше имя пользователя] \ Application Data \ Microsoft \ VisualStudio \ 10.0 \ ReflectedSchemas в окнах XP

  3. Удалить все файлы, которые папке. Обратите внимание, что удаление файлов в этом месте вполне безопасно.

  4. Затем вновь открыть визуальную студию.

Это должно решить вашу проблему.