Visual Studio 2013 IntelliSense перестает работать для контроллеров ASP.NET MVC5

У меня возникла странная проблема в моем проекте ASP.NET MVC 5 для Visual Studio 2013. Внезапно IntelliSense в классах Controller проекта MVC 5 вообще не работает.

У меня есть другие проекты библиотеки классов в моем решении, и IntelliSense работает в этих файлах проектов библиотеки классов, но проблема только в проекте MVC. Обычно такие проблемы решаются путем перезапуска Visual Studio: я не только перезапустил Visual Studio, но и перезапустил свой компьютер, и проблема IntelliSense не исправляется вообще.

Есть ли еще какие-нибудь шаги, которые могут вернуть мне IntelliSense?

Ответ 1

Я нашел один способ решить проблему. То есть, 1. → Удалить проект ASP.NET MVC из решения, 2. → Затем добавьте проект MVC обратно в решение.

Сделав эти шаги, я снова могу получить Intellisense. Но я не доволен этим решением, потому что, в следующий раз, когда я дважды щелкнул файл Solution, чтобы открыть решение, я вижу, что intellisense не работает снова. Я хотел бы знать реальную причину, по которой он ведет себя так.

EDIT:

Наконец, я понял, что это было стороннее расширение визуальной студии, которое вызывало проблему. Чтобы узнать это расширение, я удалил все расширения, а затем добавил расширения один за другим и остановился там, где обнаружил, что расширение виновника снимало мой сон:).

Ответ 2

Закрыть Visual Studio. Удалите файл <ProjectName> .v12.suo. Повторно открыть решение.

Ответ 3

Сброс настроек или импорт ранее экспортированных рабочих параметров и перезагрузка Visual Studio работала: Tools > Import and Export Settings... > Reset all settings.

EDIT: Это продолжает происходить со мной, на удивление часто в VS Express, а иногда и в VS Professional. Одна вещь, которую я заметил в Pro, заключается в том, что это произошло после неожиданных закрытий (когда ИТ-система перезагружается в середине ночи). Таким образом, это может быть связано с тем, что Visual Studio не закрывается правильно. Техника, описанная выше, работала каждый раз.

Ответ 4

Инструменты > Параметры > Текстовый редактоp > С# > Общие

Убедитесь, что отмечен флажок "Авторизованные члены списка"

Ответ 5

Вы можете разгрузить проект и перезагрузить проект MVC из решения

  • Щелкните правой кнопкой мыши проект MVC в проводнике решений → "Выгрузить проект"
  • Щелкните правой кнопкой мыши проект MVC в проводнике решений → "Обновить проект"

После этого Intellesense быстро переделывается.

Ответ 6

  • Инструменты → Параметры
  • Текстовый редактор → С# → Intellisense
  • Убедитесь, что установлен "Показать список завершения после ввода символа".

Выполнение кода intellisense VS2013

Ответ 7

Я не уверен, почему это происходит, но когда это происходит со мной, я могу восстановить Intellisense, просто перезапустив Visual Studio.

Вы правы, это очень раздражает.

Ответ 8

Иногда RESET настроек VS может помочь:

ИНСТРУМЕНТЫ → Мастер настройки импорта и экспорта → Reset все настройки- > флажок "Нет, только RESET настройки, перезапись моих текущих настроек" → Далее > Далее > Далее

Я перепутал их с RESHARPER, и это помогло.

Ответ 9

Я обнаружил, что лучший способ исправить проблемы с IntelliSense - это просто выгрузить проект в проводнике решений и снова загрузить проект. После этого IntelliSense всегда работает для меня, и я не теряю закладки, точки останова или любые другие настройки.

Ответ 10

Я обнаружил, что если сборка завершится неудачей, Intellisense, похоже, сломается. После исправления ошибок сборки и восстановления проекта Intellisense будет работать после перезагрузки конкретного файла Razor.

Ответ 11

В моем случае перезагрузка не сработала.

Итак, я сделал следующие странные шаги:

  • Закрыто решение
  • Открылось другое решение
  • Проверено, что intellisense работал в этом другом решении.
  • Закрыл другое решение
  • Наконец, снова открылось первое решение.

И intellisense снова работала.

Ответ 12

Обычно это происходит, когда буферы имеют в них ошибку. В большинстве случаев ошибка локального кэша удаляется, например, когда вы закрываете форму Windows, и повторно открываете, поэтому перезагружаете ее в память. Многие из вышеперечисленных решений работают, но иногда это так же просто, как закрытие элемента и дизайнера и повторное открытие элемента.

Кроме того, вы можете попытаться заставить reset выполнить

Ctrl + K, Ctrl + я показывает краткую информацию Ctrl + Shift + Space показывает информацию о параметрах

Ответ 13

Я пробовал много вещей, которые не сработали. В конце концов, я вырезал код в буфер обмена, воссоздал контроллер и вставил код. Проблема решена!

Ответ 14

У меня тоже такая же проблема с Intellisense в моем текстовом редакторе.

i только close файл example.cs, который не предоставляет Intellisense и повторно открыть этот класс без перезагрузки Visual Studio it работает для меня.

Примечание. У меня нет такой же проблемы со всем .CS файлом в обозревателе решений

Ответ 15

Я использую VS 2013, и у меня была та же проблема. Моим решением было обновление VS до последней версии. Я в моем случае Обновление 4. Просто ссылка в проекте должна соответствовать сборке в GAC на компьютере (ОС). Intellisense исходит от VS не от проекта.

Я надеюсь, что это будет полезно для некоторых.

Ответ 16

... Еще один ответ - но это было причиной моей боли: я установил Помощник разработчика, который работал красиво, но вдруг перестали предлагать свои предложения. Чтобы он снова работал:

опции → помощник разработчика → Intellisense → По умолчанию Visual Studio Intellisense

Пришло мне 5 часов, чтобы найти это: (

НТН.

Ответ 17

Tools->Options->Text Editor->C# (or All Languages)->General

установите флажок для enable Auto List Members и Parameter Information в правой панели.

Если его не выбрано, выберите его.

Ответ 18

Сохраните все и перезапустите Visual Studio!

Ответ 19

Я получаю эту ту же самую вещь каждый раз, когда я работаю с одним конкретным проектом MVC5. Перезапуск VS2013 не работает. Удаление файлов suo не работает. Сброс настроек всех инструментов не работает. Единственное, что когда-либо работает, - это удаление проекта из решения и добавление его снова. Видеть, как я должен это делать каждый день, это действительно очень раздражает. Особенно, когда у меня есть набор для повторного открытия последних файлов, которые я открывал, мне нужно отслеживать те, над которыми я работал, и снова открывать их, а не автоматически выскакивать.

Ответ 20

Я использую VS 2013 с MVC 5. Решением для меня было добавить следующее в Web.config:

<compilation debug="true" targetFramework="4.5.1">
  <assemblies>
    <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>

Ответ 21

Решение Rushonerok отлично работает для меня.
Для тех, кто не знает: <ProjectName> .v12.suo - скрытый файл в корневой папке проекта. Вы должны установить" Показать скрытые файлы" в своем браузере файлов, чтобы увидеть его.

Ответ 22

До сих пор некоторые из этих решений не работали для меня.

У меня есть следующее обходное решение

Просто объявите тип, который вы хотите явно использовать в новой переменной, и используйте вместо Model.

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain

Ответ 23

Чтобы решить эту проблему, я закрыл Visual Studio Express 2013, и я снова открыл решение, но дважды щелкнул его по файлу .sln непосредственно из файловой системы. Открыв его с начальной страницы, мои контроллеры были повреждены.

Ответ 24

Закрытие и открытие решения Visual Studio работало для меня.

Ответ 25

Иногда вы закрываете его по ошибке. Попробуйте ctrl+space для Windows или cmd+space для Mac, чтобы включить его.

Ответ 26

Я знаю, что немного опоздал, но добавление этого в мой файл App.config !

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
</system.web>