Intellisense не работает должным образом в VS 2008?
У меня проблемы с получением Intellisense для работы в режиме просмотра исходного кода ASP.NET.
Например, я регистрирую библиотеку Telerik RadControls с префиксом тега, как сказано в примерах:
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
Но при наборе Кроме того, после добавления нескольких элементов управления они подсвечиваются с ошибкой "Префикс нераспознанного тега или фильтр устройства" telerik "". Это довольно раздражает, и я не могу найти решение. Кстати, сама веб-страница работает - это просто Intellisense, который не работает.
5 ответов
Intellisense может потерпеть неудачу по разным причинам, поэтому я задам вам несколько вопросов:
- Работает ли время разработки должным образом? Иногда, если сборка во время разработки не загружена, intellisense может завершиться ошибкой.
- Вы работаете на удаленном диске случайно? Мы также нашли проблемы с этим. Удаленный диск необходимо добавить в качестве надежного расположения для сборок.
- Если вы используете более старую версию RadControls, вам также необходимо добавить ссылку на Telerik.Charting.dll. Какую версию вы используете?
- Наконец, мы обнаружили, что обновление до 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