Program Visual Studio 2013 IntelliSense przestaje działać dla kontrolerów ASP.NET MVC5

132

Mam dziwny problem w moim projekcie Visual Studio 2013 ASP.NET MVC 5. Nagle IntelliSense w klasach kontrolera projektu MVC 5 w ogóle nie działa.

Mam inne projekty biblioteki klas w moim rozwiązaniu, a technologia IntelliSense działa w tych plikach projektów biblioteki klas, ale problem występuje tylko w projekcie MVC. Zazwyczaj tego rodzaju problemy są rozwiązywane przez ponowne uruchomienie programu Visual Studio: nie tylko zrestartowałem program Visual Studio, ale także ponownie uruchomiłem komputer, a problem IntelliSense w ogóle nie został naprawiony.

Czy są jakieś inne kroki, które mogą przywrócić mi technologię IntelliSense?

Emran Hussain
źródło

Odpowiedzi:

209

Zamknij program Visual Studio. Usuń plik <ProjectName> .v12.suo. Otwórz ponownie rozwiązanie.

Rush Frisby
źródło
Dzięki za informację. Następnym razem spróbuję tej sztuczki, jeśli mój intelisense programu Visual Studio ponownie przestanie działać.
Emran Hussain
15
Odkryłem, że usunięcie pliku suo rozwiązuje wiele problemów. To jest jak odpowiednik restartu w Visual Studio. Dzięki za przypomnienie.
grahamesd
1
Tak ... naprawiłem teraz problem. Mój ProjectName.v12.suomiał 982 KB. Usunąć to. Zamknięto rozwiązanie. Ponownie otwarto rozwiązanie i utworzono nowe ProjectName.v12.suo. Intellisense powrócił, ale ten nowy .suoplik ma teraz tylko 500 KB. Naprawdę interesujące. Może Microsoft powinien naprawić to złe zachowanie? W jakiś sposób powoduje, że VS traci Intellisense i praca bez niego jest naprawdę trudna. :)
Leniel Maccaferri
3
Nie działa dla mnie. U mnie zadziałało zresetowanie ustawień.
DougCouto
To rozwiązuje problem IntelliSense, ale jednocześnie tracisz wszystkie punkty przerwania, zakładki itp.
Andreas
68

Resetowanie moje ustawienia lub importowanie uprzednio wywiezione, ustawienia pracy, a ponowne uruchomienie programu Visual Studio działało: Tools > Import and Export Settings... > Reset all settings.

EDYCJA: To mi się zdarza, zaskakująco często w VS Express, a czasami w VS Professional. Jedną rzeczą, którą zauważyłem w Pro, jest to, że stało się to po nieoczekiwanych wyłączeniach (kiedy IT wymusza ponowne uruchomienie w środku nocy). Może to być związane z nieprawidłowym zamknięciem programu Visual Studio. Opisana powyżej technika działała za każdym razem.

Jeremy Cook
źródło
1
Dzięki, dzisiaj znowu miałem problem z Intellisense i twoje rozwiązanie rozwiązało problem.
Emran Hussain
1
Dzięki, dla mnie to też zadziałało. Jeśli czytasz do końca, spróbuj tego, zanim usuniesz wszystkie rozszerzenia.
Kolejny Steve
: DI faktycznie najpierw usunąłem wszystkie moje rozszerzenia. W każdym razie zadziałało!
Luis Lavieri
rozwiązało to również mój problem
kontraktorwolf
To była najlepsza opcja. Doskonały.
Nelson Miranda
35

Narzędzia> Opcje> Edytor tekstu> C #> Ogólne

Upewnij się, że zaznaczona jest opcja „Członkowie listy automatycznej”

phil
źródło
To zadziałało dla mnie. Usunięcie pliku .suo działało wcześniej wiele razy, ale tym razem nie.
Craig,
To zadziałało dla mnie. Visual Studio 2013. IT przeniosło nas do nowej domeny i utraciło wszystkie ustawienia VS.
kotły 222
27

Znalazłem jeden sposób rozwiązania problemu. Oznacza to, że 1. -> Usuń projekt ASP.NET MVC z rozwiązania, 2. -> Następnie dodaj projekt MVC z powrotem do rozwiązania.

Wykonując te czynności, mogę ponownie uzyskać Intellisense. Ale nie jestem zadowolony z tego rozwiązania, ponieważ następnym razem, gdy kliknę dwukrotnie plik rozwiązania, aby otworzyć rozwiązanie, widzę, że funkcja Intellisense ponownie nie działa. Chciałbym poznać prawdziwy powód, dla którego tak się zachowuje.

EDYTOWAĆ:

W końcu doszedłem do wniosku, że to rozszerzenie studia wizualnego innej firmy powoduje problem. Aby znaleźć to rozszerzenie, usunąłem wszystkie rozszerzenia, a następnie dodałem rozszerzenia jeden po drugim i zatrzymałem się w miejscu, w którym znalazłem rozszerzenie winne, które odciągało mi sen :).

Emran Hussain
źródło
1
Zajmuję się tym od miesiąca i doprowadza mnie to do szału. Usunięcie i odczytanie z roztworu (choć ból) również działało dla mnie. Dzięki!
NorthFork
6
W moim przypadku było to rozszerzenie Xamarina, ale nie chcę źle mówić o Xamarinie, ponieważ ich obsługa klienta jest super doskonała. Jak tylko zgłosiłem problem, szybko dostarczyli mi poprawioną wersję. Co więcej, najnowsza wersja rozszerzenia Xamarin nie wydaje się już mieć tego problemu. Chodzi mi o to, że konkretna wersja dowolnego rozszerzenia może powodować taki problem, może być konieczne odinstalowanie rozszerzeń pojedynczo, aby dowiedzieć się, co powoduje problem. Na przykład przyszła wersja dzisiejszego dobrego rozszerzenia może również powodować taki problem. W takim przypadku musimy uważać.
Emran Hussain
2
Rozładowanie projektu i ponowne wczytanie go też zadziałało, dziękuję!
Rob
1
W moim przypadku było to rozszerzenie Xamarin. Odinstalowałem go i problem zniknął. To też była najnowsza wersja!
Guy Lowe
1
Miałem ten sam problem z rozszerzeniem Xamarin, ale z jakiegoś powodu tylko z jednym konkretnym projektem. To była wygasła wersja próbna, więc właśnie ją odinstalowałem i wróciło podświetlanie składni.
GnomeCubed
8

Możesz zwolnić projekt i ponownie załadować projekt MVC z rozwiązania

  1. Kliknij prawym przyciskiem myszy projekt MVC w eksploratorze rozwiązań -> „Zwolnij projekt”
  2. Kliknij prawym przyciskiem myszy projekt MVC w eksploratorze rozwiązań -> „Załaduj ponownie projekt”

Po tym Intellesense szybko przerabia.

ArDumez
źródło
Tylko to, co napisałem 10 kwietnia, fajnie! stackoverflow.com/a/29556005/1879699
Andreas
6
  • Narzędzia -> Opcje
  • Edytor tekstu -> C # -> Intellisense
  • Upewnij się, że opcja „Pokaż listę uzupełnień po wpisaniu znaku” jest zaznaczona

Uzupełnianie kodu IntelliSense VS2013

Szeryf Hamdy
źródło
1
To zadziałało dla mnie. Nie jestem pewien, czy podczas instalacji domyślnie te opcje były odznaczone, ale poniższe elementy zostały odznaczone i była to nowa instalacja. „Auto lista członków” „Informacje o parametrach”. Nie rozumiałem również parametrów metody. Jedyna wtyczka, jaką mam, to GhostDoc
gcoleman0828,
@ gcoleman0828 Dziękuję! To była dla mnie poprawna odpowiedź w przypadku VS2013.
Rod Hartzell
5

Nie jestem pewien, dlaczego tak się dzieje, ale kiedy mi się to przydarza, mogę odzyskać Intellisense, po prostu ponownie uruchamiając Visual Studio.

Masz rację, to naprawdę denerwujące.

JWilson
źródło
4

Czasami RESET ustawień VS może pomóc:

NARZĘDZIA-> Kreator importu i eksportu ustawień-> Resetuj wszystkie ustawienia-> pole wyboru „Nie, po prostu zresetuj ustawienia, nadpisując moje obecne ustawienia” -> Dalej> Dalej> Dalej

Zepsułem ich z RESHARPEREM i to pomogło.

d.popov
źródło
2
dobrze, tak było dla mnie, przepraszam. Zepsułem je ustawieniami RESHARPERA.
d.popov
2
Głosowano za. W przeszłości Resharper siał spustoszenie w moich ustawieniach.
Zac
Jest to dopuszczalne tylko dla kogoś, kto niczego nie dostosował.
t3chb0t
3

Odkryłem, że najlepszym sposobem rozwiązania problemów z IntelliSense jest po prostu zwolnienie projektu w eksploratorze rozwiązań i ponowne załadowanie projektu. Po tym IntelliSense zawsze działa dla mnie i nie tracę zakładek, punktów przerwania ani żadnych innych ustawień.

Andreas
źródło
1
To jest najprostszy sposób. TY
Caesar
1

Odkryłem, że jeśli kompilacja się nie powiedzie, Intellisense wydaje się zepsuć. Po naprawieniu błędów kompilacji i ponownym skompilowaniu projektu Intellisense będzie działał po ponownym załadowaniu określonego pliku Razor.

Matthew Will
źródło
1

W moim przypadku ponowne uruchomienie nie zadziałało.

Zrobiłem więc następujące dziwne kroki:

  1. Zamknięto rozwiązanie
  2. Otworzył inne rozwiązanie
  3. Zweryfikowano, że Intellisense działa w tym innym rozwiązaniu.
  4. Zamknięto inne rozwiązanie
  5. Wreszcie ponownie otworzyłem pierwsze rozwiązanie.

Inteligencja znowu zadziałała.

Guilherme de Jesus Santos
źródło
To nie zadziałało, ale był to dobry krok do rozwiązywania problemów, aby sprawdzić, czy to sam projekt lub studio wizualne powoduje problem.
czerwono 510
1

Zwykle dzieje się tak, gdy bufory zawierają błąd. W większości przypadków błąd lokalnej pamięci podręcznej jest usuwany po zamknięciu, na przykład, formularza systemu Windows i ponownym otwarciu, co powoduje ponowne załadowanie go do pamięci. Wiele z powyższych rozwiązań działa, ale czasami jest to tak proste, jak zamknięcie elementu i projektanta oraz ponowne otwarcie elementu.

Dodatkowo możesz spróbować wymusić reset przez

Ctrl + K, Ctrl + I pokazuje szybkie informacje Ctrl + Shift + Spacja pokazuje informacje o parametrach

Mark Alicz
źródło
1

Próbowałem wielu rzeczy, które nie działały. Na koniec wyciąłem kod do schowka, odtworzyłem kontroler i wkleiłem kod. Problem rozwiązany!

Andy Brown
źródło
1

Ja też mam ten sam problem z Intellisense w moim edytorze tekstu.

Po prostu closeplik example.cs, który nie zapewnia Intellisense i ponownie otwórz tę klasę bez ponownego uruchamiania Visual Studio, działa dla mnie.

Uwaga: nie mam tego samego problemu ze wszystkimi plikami CS w Eksploratorze rozwiązań

Midhun Mundayadan
źródło
1

Używam VS 2013 i miałem ten sam problem. Moim rozwiązaniem była aktualizacja VS do ostatniej wersji. W moim przypadku Aktualizacja 4. Po prostu odwołanie w projekcie musi być zgodne z montażem w GAC na komputerze (OS). Intellisense pochodzi z VS, a nie z projektu.

Mam nadzieję, że komuś się to przyda.

Piotr Knut
źródło
1

... Jeszcze inna odpowiedź - ale to była przyczyna mojego bólu: zainstalowałem Asystenta programisty, który działał ładnie, ale nagle przestał dostarczać sugestii. Aby znów działał:

opcje -> asystent programisty -> Intellisense -> Default Visual Studio Intellisense

Zajęło mi 5 godzin, żeby to znaleźć :(

HTH.

sming
źródło
1
Tools->Options->Text Editor->C# (or All Languages)->General

zaznacz pole wyboru enable Auto List Membersi Parameter Informationw panelu po prawej stronie.

Jeśli nie jest zaznaczona, wybierz ją.

thejustv
źródło
0

Zapisz wszystko i uruchom ponownie Visual Studio!

Chris
źródło
0

Dostaję dokładnie to samo za każdym razem, gdy pracuję z jednym konkretnym projektem MVC5. Ponowne uruchomienie VS2013 nie działa. Usuwanie plików suo nie działa. Resetowanie wszystkich ustawień narzędzi nie działa. Jedyną rzeczą, która kiedykolwiek działa, jest usunięcie projektu z rozwiązania i ponowne dodanie go. Widzenie, że muszę to robić każdego dnia, jest naprawdę irytujące. Zwłaszcza gdy mam ustawione ponowne otwieranie ostatnich plików, które otworzyłem, muszę następnie wyśledzić te, nad którymi pracowałem, i ponownie je otworzyć, zamiast pojawiać się automatycznie.

Pyrobri
źródło
0

Używam VS 2013 z MVC 5. Rozwiązaniem dla mnie było dodanie następującego pliku do 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>
Steven
źródło
0

Rozwiązanie Rushonerok działa dla mnie świetnie.
Dla każdego, kto nie wie: <nazwa projektu> .v12.suo to ukryty plik w folderze głównym projektu. Aby to zobaczyć, musisz ustawić opcję „Pokaż ukryte pliki” w przeglądarce plików.

Petr
źródło
0

Jak dotąd niektóre z tych rozwiązań nie zadziałały.

Mam następujące obejście

Po prostu zadeklaruj typ, którego chcesz użyć jawnie w nowej zmiennej i użyj tego zamiast Model.

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain
Valamas
źródło
0

Aby rozwiązać ten problem, zamknąłem program Visual Studio Express 2013 i ponownie otworzyłem rozwiązanie, ale dwukrotnie kliknąłem jego .slnplik bezpośrednio z systemu plików. Otwarcie go ze strony początkowej spowodowało, że mój kontroler został uszkodzony.

CoderRoller
źródło
0

Zamykanie i otwieranie rozwiązania Visual Studio zadziałało dla mnie.

Niezniszczalny
źródło
0

Czasami zamykasz go przez pomyłkę. Wypróbuj system ctrl+spaceWindows lub cmd+spaceMac, aby go włączyć.

picacode
źródło
0

Wiem, że jestem trochę spóźniony, ale dodanie tego do App.configpliku załatwiło sprawę !

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
</system.web>
Human_AfterAll
źródło