Регистрация пользовательских элементов управления в web.config показывает ошибку, но все равно работает - PullRequest
0 голосов
/ 26 февраля 2009

Это беспокоило меня все утро, и я даже не могу понять, где ошибка.

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

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

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

Ответы [ 3 ]

1 голос
/ 26 февраля 2009

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

1 голос
/ 26 февраля 2009

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

    <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 голосов
/ 16 октября 2012
  1. Закрыть визуальную студию
  2. Переместиться в локацию:

    В Windows 7 :

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

    В Windows XP :

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

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

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

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

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