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?

Odpowiedzi:


209

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


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.


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”


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 :).


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.


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


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.


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.


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ń.


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.


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.


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


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!


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ń


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.


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.


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ą.



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.


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>

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.


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

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.



0

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


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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.