Intellisense не работает должным образом в VS 2008?

У меня проблемы с получением Intellisense для работы в режиме просмотра исходного кода ASP.NET.

Например, я регистрирую библиотеку Telerik RadControls с префиксом тега, как сказано в примерах:

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

Но при наборе

Кроме того, после добавления нескольких элементов управления они подсвечиваются с ошибкой "Префикс нераспознанного тега или фильтр устройства" telerik "". Это довольно раздражает, и я не могу найти решение.

Кстати, сама веб-страница работает - это просто Intellisense, который не работает.

5 ответов

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

  1. Работает ли время разработки должным образом? Иногда, если сборка во время разработки не загружена, intellisense может завершиться ошибкой.
  2. Вы работаете на удаленном диске случайно? Мы также нашли проблемы с этим. Удаленный диск необходимо добавить в качестве надежного расположения для сборок.
  3. Если вы используете более старую версию RadControls, вам также необходимо добавить ссылку на Telerik.Charting.dll. Какую версию вы используете?
  4. Наконец, мы обнаружили, что обновление до Visual Studio 2008 SP1 решает множество проблем. Я настоятельно рекомендую вам обновить, если это еще не сделано.

Весь ваш проект компилируется? Intellisense часто ломается, если есть ошибки компиляции в другом месте (даже ошибки компиляции на других страницах).

Ctrl + пробел это ярлык для его запуска...

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

Вы все еще получаете intellisense для других классов?

Просто исправил это для VS2008 (для aspx/ascx и codebehind), добавив Telerik .dll в GAC на моей локальной машине для разработки.

У меня была эта проблема раньше, и оба раза это происходило, когда мой проект размещался на сетевом диске, где путь к проекту был бы примерно таким: *\\ networkmachinename \ c $ \ inetpub \ projectname *

Исправление:

На локальном компьютере выберите Пуск> Программы> Microsoft Visual Studio 2008 > Инструменты Visual Studio> Командная строка Visual Studio 2008 (запуск от имени администратора).

Используя инструмент gacutil и следующие команды (или больше в зависимости от того, сколько DLL-файлов вы хотите использовать), добавьте сборки в ваш GAC:

gacutil.exe -i "C: \ Program Files (x86) \ Telerik \ RadControls для ASPNET AJAX Q2 2008 \ Bin35 \ Telerik.Web.UI.dll"

gacutil.exe -i "C: \ Program Files (x86) \ Telerik \ RadControls для ASPNET AJAX Q2 2008\Bin35\Telerik.Charting.dll"

Очевидно, измените каталоги в соответствии с вашими версиями OS/Telerik/Framework, затем закройте командную строку Visual Studio 2008, закройте VS2008 (если он открыт) и снова перезапустите VS2008.

Сначала вы обнаружите, что intellisense работает с файлами aspx/ascx, и через несколько минут он будет работать и с вашими файлами кода. Закройте и повторите попытку, если это все еще не работает.

Еще одно замечание: если у вас есть небольшая ошибка где-то в корневом файле web.config вашего веб-сайта, вы также потеряете intellisense для элементов управления Telerik (и, возможно, других) - поэтому убедитесь, что ваши файлы web.config не ошибочны в первую очередь.

Я заметил общую проблему с intellisense в VS2008 (с SP1). Когда они начали поддерживать JS intellisense, многие вещи стали медленнее - или иногда не работали.

Я знаю проблему описания - не только с элементами управления telerik, но и с другими (и моими) библиотеками элементов управления. Большую часть времени перестройка - закрытие всех страниц, и перезапуск VS решает проблемы для меня.

Моя особая проблема (я думаю, это имеет значение) состоит в том, что я использую немецкий выпуск VS2008. Но и другие правила (из моего опыта): размер проекта (где-то выше 50 страниц, вещи становятся хуже). Время, когда мне приходилось убивать приложение во время отладки:) Общее время (в сеансе) работы над проектом.

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

Это выглядит так:

<controls>
<add assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagPrefix="telerik" />
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, 

НТН

Manfred

Другие вопросы по тегам