Visual Studio 2013 IntelliSense перестає працювати для контролерів ASP.NET MVC5


132

У моєму проекті Visual Studio 2013 ASP.NET MVC 5 я стикаюся з дивною проблемою. Раптом класи IntelliSense в контролері проекту MVC 5 взагалі не працюють.

У моєму рішенні є інші бібліотечні проекти класів, і IntelliSense працює над файлами проектів бібліотеки класів, але проблема полягає лише в проекті MVC. Зазвичай такі проблеми вирішуються шляхом перезавантаження Visual Studio: я не тільки перезапустив Visual Studio, але й перезапустив комп'ютер, і проблема IntelliSense взагалі не виправляється.

Чи є якісь інші кроки, які можуть повернути мені IntelliSense?

Відповіді:


209

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


Дякуємо за інформацію. Я спробую цей трюк наступного разу, якщо мій інтелектенс Visual Studio перестане працювати знову.
Емран Хуссей

15
Я виявив, що видалення файлу suo усуває багато проблем. Це як еквівалент Visual Studio перезавантаження. Дякую, що нагадали.
grahamesd

1
Так ... вирішили проблему для мене прямо зараз. Мій ProjectName.v12.suoрозмір був 982 КБ. Видалено його. Закрили рішення. Повторно відкрили рішення і створили нове ProjectName.v12.suo. Intellisense знову повернувся, але цей новий .suoфайл розміром лише 500 КБ. Дійсно цікаво. Можливо, Microsoft має виправити цю погану поведінку? Якось це призводить до того, що VS втрачає Intellisense, і без нього працювати боляче. :)
Леніел Маккаферрі

3
Не працювали для мене. Те, що для мене спрацювало, було скидання налаштувань.
DougCouto

Це виправляє проблему IntelliSense, але ви одночасно втрачаєте всі точки перелому, закладки тощо.
Андреас

68

Скидання моїх налаштувань або ввезенням раніше експортували, робочі параметри, і перезапустити Visual Studio працювало: Tools > Import and Export Settings... > Reset all settings.

РЕДАКТУВАННЯ: Це трапляється зі мною, напрочуд часто у VS Express та інколи в VS Professional. Одне, що я помітив у Pro, - це те, що це сталося після несподіваних зупинок (коли ІТ змушує перезавантажити посеред ночі). Тож це може бути пов’язано з тим, що Visual Studio не закриється правильно. Описана вище техніка працювала кожен раз.


1
Дякую, сьогодні у мене знову з’явилася проблема Intellisense, і ваше рішення вирішило проблему.
Емран Хуссей

1
Дякую, це працювало і для мене. Якщо ви читаєте донизу, спробуйте це, перш ніж видалити всі розширення.
Ще один Стів

: DI фактично спочатку видалив усі мої розширення. У всякому разі, це спрацювало!
Луїс Лав’єрі

це вирішило і мою проблему
підрядник-

Це був найкращий варіант. Відмінно.
Нельсон Міранда

35

Інструменти> Параметри> Текстовий редактор> C #> Загальне

Переконайтесь, що прапорець "Автоматичні учасники списку" встановлений


Це працювало для мене. Видалення файлу .suo раніше працювало багато разів, але цього разу цього не сталося.
Крейг

Це працювало для мене. Visual Studio 2013. IT переключила нас на новий домен і втратила всі налаштування VS.
котли222

27

Я знайшов один із способів вирішити проблему. Тобто 1. -> Видаліть проект ASP.NET MVC з рішення, 2. -> Потім додайте проект MVC назад до рішення.

Зробивши ці кроки, я можу знову отримати Intellisense. Але я не задоволений цим рішенням, оскільки наступного разу, коли я двічі клацнув файл Solution, щоб відкрити рішення, я бачу, що intellisense не працює знову. Мені хотілося б дізнатися справжню причину, чому вона так поводиться.

Редагувати:

Нарешті я зрозумів, що це розширення візуальної студії третьої сторони, яке викликало проблему. Для того, щоб дізнатися про це розширення, я видалив усі розширення, а потім додав розширення по одному і зупинився там, де знайшов розширення винуватця, який забирав мені сон :).


1
Місяць займався цим місяцем, і це мене зводило з розуму. Видалення та зчитування з розчину (хоча болить) теж спрацювало для мене. Дякую!
NorthFork

6
У моєму випадку це було розширення Xamarin, але я не хочу сказати погано про Xamarin, тому що, їх підтримка клієнтів є надзвичайно чудовою. Як тільки я повідомив про проблему, вони швидко надали мені виправлену версію. Більше того, схоже, що останній варіант розширення Xamarin вже не має такої проблеми. Моя думка, будь-яка версія конкретного розширення може спричинити таку проблему, можливо, нам знадобиться видалити розширення по черзі, щоб з’ясувати, що викликає проблему. Наприклад, майбутня версія сьогоднішнього гарного розширення також може спричинити таку проблему. У цьому випадку нам слід бути уважним.
Емран Хуссейн

2
Вивантаження проекту та його повторне завантаження спрацювало і для мене!
Роб

1
У моєму випадку це було розширення Xamarin. Видалили його, і проблема пішла. Це теж була остання версія!
Гай Лоу

1
У мене була та сама проблема з розширенням Xamarin, але чомусь лише з одним конкретним проектом. Це був пробний термін, який закінчився, тому я просто видалив його, і підсвічування синтаксису повернулося.
GnomeCubed

8

Ви можете розвантажити проект і перезавантажити проект MVC з рішення

  1. Клацніть правою кнопкою миші на проект MVC у провіднику рішень -> "Розвантажити проект"
  2. Клацніть правою кнопкою миші на проект MVC в Explorer Explorer -> "Перезавантажити проект"

Після цього Intellesense швидко переробляється.


Ексклюзивно те, що я написав у 10 квітня, приємно! stackoverflow.com/a/29556005/1879699
Андреас

6
  • Інструменти -> Параметри
  • Текстовий редактор -> C # -> Intellisense
  • Переконайтесь, що прапорець "Показати список завершення після введення символу"

Завершення інтелігенційного коду VS2013


1
Це працювало для мене. Я не впевнений, чи встановлено встановлення за замовчуванням, щоб вони не були перевірені, але для мене це було знято, і це була нова установка. "Автоматичний список членів" "Інформація про параметри". Я також не отримував інтелігенції щодо параметрів методу. Єдиний у мене плагін - GhostDoc
gcoleman0828

@ gcoleman0828 Дякую! Це була правильна відповідь для мене з VS2013.
Род Хартцелл

5

Я не впевнений, чому це відбувається, але коли це трапляється зі мною, я можу відновити Intellisense, просто перезапустивши Visual Studio.

Ти маєш рацію, це справді дратує.


4

Іноді RESET налаштувань VS може допомогти:

ІНСТРУМЕНТИ-> Майстер імпорту та експорту параметрів-> Скидання всіх налаштувань-> прапорець "Ні, просто скиньте настройки, перезаписавши мої поточні налаштування" -> Далі> Далі> Далі

Я переплутав їх із RESHARPER, і це допомогло.


2
ну, мені так було, вибачте. Я переплутав їх із налаштуваннями RESHARPER.
д.попов

2
Отримано. У минулому Resharper зіграв мої налаштування.
Зак

Це прийнятно лише для тих, хто нічого не налаштовував.
t3chb0t

3

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


1
Це найпростіший спосіб. TY
Цезар

1

Я виявив, що якщо збірка не вдасться, то, здається, Intellisense зламається. Після виправлення моїх помилок збирання та відновлення проекту Intellisense запрацює після перезавантаження певного файлу Razor.


1

У моєму випадку перезапуск не працював.

Тому я зробив такі дивні кроки:

  1. Закрили рішення
  2. Відкрили ще одне рішення
  3. Перевірено, що інтелісенс працював у цьому іншому рішенні.
  4. Закрив інше рішення
  5. Нарешті, знову відкрили перше рішення.

І інтелігенція знову спрацювала.


Це не спрацювало, але це був вдалий крок усунення несправностей, щоб побачити, чи саме проект чи візуальна студія викликають проблему.
redwards510

1

Зазвичай це відбувається, коли буфери мають в них помилку. Більшу частину часу помилка локального кешу очищається, коли ви закриваєте a, наприклад, формує вікно та повторно відкриває його, тому перезавантажуючи його в пам'ять Багато з вищевказаних рішень працюють, але іноді це так само просто, як закриття продукту та дизайнера та повторне відкриття товару.

Крім того, ви можете спробувати застосувати скидання на

Ctrl + K, Ctrl + I показує швидку інформацію Ctrl + Shift + Space показує інформацію про парам


1

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


1

У мене теж є те саме питання з Intellisense в моєму редакторі тексту.

Я просто closeфайл example.cs, який не забезпечує Intellisense, і відкрити цей клас без перезавантаження, Visual Studioвін працює для мене.

Примітка: у мене не одна і та ж проблема з усіма файлами .CS у Провіднику рішень


1

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

Я сподіваюся, що це буде корисно для когось.


1

... Ще одна відповідь - але це було причиною мого болю: я встановив програму Assistant Developer яка добре працювала, але раптом перестала надавати пропозиції. Щоб знову працювати:

параметри -> помічник розробника -> Intellisense -> Visual Studio Intellisense за замовчуванням

Мені знадобилося 5 годин, щоб зрозуміти, що :(

HTH.


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

Поставте прапорець на правій панелі enable Auto List Membersта Parameter Informationв правій частині екрана.

Якщо його не вибрано, виберіть його.



0

Я отримую це саме те саме щоразу, коли працюю з одним конкретним проектом MVC5. Перезапуск VS2013 не працює. Видалення файлів suo не працює. Скидання всіх параметрів інструментів не працює. Єдине, що коли-небудь працює - це вилучити проект із рішення та знову додати його. Бачити, як мені доводиться це робити щодня, насправді дуже дратує. Особливо, коли у мене встановлено повторне відкриття останніх відкритих файлів, мені потрібно відстежувати ті, над якими я працював, і знову відкривати їх, а не автоматично вискочувати.


0

Я використовую 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>

0

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


0

Поки що деякі ці рішення для мене не спрацювали.

У мене є такий спосіб вирішення

Просто оголосіть тип, який ви хочете використовувати явно в новій змінній, і використовуйте його замість Model.

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain

0

Для вирішення цього питання я закрив Visual Studio Express 2013 і знову відкрив рішення, але двічі клацнувши його .slnфайл безпосередньо з файлової системи. Відкривши його зі стартової сторінки, було порушено інтелігенцію моїх контролерів.



0

Іноді ви помилково закриваєте це. Спробуйте ввімкнути ctrl+spaceWindows або cmd+spaceMac.


0

Я знаю, що я трохи спізнююся, але додавши це до мого App.configфайлу, зробила свою справу!

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
</system.web>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.