Visual Studio 2015 nie wyróżnia składni Razor ani Intellisense


121

Moje widoki Razor w VS2015 RC nie pokazują prawidłowego kolorowania dla kodu C #. Mój projekt działał dobrze w VS2013, ale nie w 2015 i nie daje mi żadnego Intellisense w kodzie C #. Rozwiązanie jest budowane, a witryna działa poprawnie.

Bezskutecznie próbowałem wykonać następujące czynności

  • wyłączanie wszystkich rozszerzeń programu Visual Studio
  • usuwanie mojego .suopliku
  • usunięcie projektu i ponowne dodanie go do rozwiązania

Jak mogę to naprawić?

Przykład:


3
Czy rozważałeś oczekiwanie na pełne wydanie? Obecny jest nadal dość wadliwy i ma służyć tylko jako zapowiedź dla niecierpliwych.
— walther

Czy zainstalowałeś narzędzia produktywności? W moim przypadku dużo się rozbiło w porównaniu ... Curretnly ma teraz wyróżnienie w vNext PRojects
— Boas Enkler

Nadal ma to miejsce w VS2015 Professional. Żadna z odpowiedzi w tym wątku nie rozwiązuje problemu na stałe. Podświetlanie składni pozostaje zepsute.
— Justin Skiles

Jeśli żadna z poniższych odpowiedzi nie rozwiązuje problemu, możesz zajrzeć tutaj: stackoverflow.com/questions/33245041/ ... Zainstalowanie .NET Core 1.0.0 rozwiązało problem za mnie. Zacząłem od tego samego problemu, ale miałem też problem z szablonami WWW (niedostępne dla nowych projektów). Znacznik wyboru „Microsoft Web Developer Tools” (jak opisano w jednej z poniższych odpowiedzi) był zawsze zaznaczony.
— Ruard van Elburg

Sprawdź swoją wersję MVC. Jeśli jest to 3 lub mniej, VS 2015 go nie obsługuje.
— RMuesi

Odpowiedzi:


215

Znalazłem w tej odpowiedzi inny sposób, aby to naprawić bez rozszerzeniadevenv.exe /ResetUserData

Po prostu usuń zawartość tego katalogu z zamkniętym programem Visual Studio: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache

Aby znaleźć numer wersji używanej wersji programu Visual Studio, zapoznaj się z tą listą. Zwróć uwagę, że ważna jest tylko główna liczba, wersja pomocnicza może i prawdopodobnie będzie się różnić. W moim przypadku miałem zainstalowany program Visual Studio 2017 Enterprise, więc szukałem 15.xxi znalazłem 15.0_9a1c4a06w folderze AppData.


7
To zadziałało dla mnie. VS 2015 Enterprise Version 14.0.23107.0 D14REL
— Toft

3
Dzięki. To lepszy sposób zamiast resetowania wszystkich danych użytkownika w VS2015 Enterprise
— kapsiR

1
Pracował dla VS 2015 Enterprise
— Law

4
To powinno być główne rozwiązanie, działało również dla mnie na VS 2015 entreprise
— cdie

1
U mnie to zadziałało i zgadzam się, że powinno to być główne rozwiązanie. Używam wersji Professional. Dziękuję Ci bardzo.
— Jón Viðar Þorsteinsson,

52

Miałem ten sam problem, jedyną jak dotąd poprawką jest zresetowanie wszystkich danych użytkownika ( C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData).

UWAGA: Jeśli to zrobisz, utracisz wszystkie dostosowania, np. Skróty klawiaturowe i układy okien!

EDYCJA: Ludzie mówią, że działa to tylko dla RC, a nie RTM, więc możesz najpierw wypróbować inne poprawki.


Chociaż prawdopodobnie nie jest to najlepsze rozwiązanie, zadziałało! Dzięki! Zastanawiam się, czy miało to coś wspólnego z zainstalowaniem poprzednich wersji CTP.
— DLeh

2
możesz wcześniej wyeksportować skróty klawiszowe i przywrócić je później
— konsola

Czy znak „>” jest w prawo w tym wierszu poleceń? U mnie zadziałało, zastępując to cięciem wstecz. Ale to rozwiązanie działało również dla mnie!
— Nicholas Petersen

1
I tracisz wszystkie dodatki.
— Knerd,

1
Mam wersję Enterprise (VS 2015) . czy jest jakieś możliwe rozwiązanie dla tej wersji? powyższe rozwiązanie nie działa dla mnie.
— Zeeshan

26

Miałem ten sam problem w VS 2015 RTM i mogłem go naprawić, po prostu ładując Visual Studio w trybie awaryjnym przez:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /SafeMode

następnie normalnie zamykając i ponownie otwierając.


1
U mnie jednak zadziałało, warto spróbować. Nie stracisz aktualnych ustawień.
— Nick,

U mnie to nie zadziałało, ten błąd pojawia się również w SafeMode (i oczywiście po ponownym otwarciu w "standardowy" sposób).
— T-moty

Dzięki za uratowanie mnie przed utratą ustawień!
— grmbl

Pracowałem nad moim VS 2015 Enterprise
— Tamim Al Manaseer

Niesamowite! dla mnie też pracował. Warto spróbować, przy kilku ostatnich okazjach wysadziłem ustawienia.
— Diego

10

Po aktualizacji Visual Studio 2015 Update 1 miałem ten sam problem. Wypróbowałem wszystkie odpowiedzi, ale nie zadziałały.

Poprawka dla mnie dotyczyła programów i właściwości> edycja społeczności programu Visual Studio> Zmiana. Kliknąłem na modyfikację.

Na liście upewnij się, że zaznaczono pole wyboru „Microsoft Web Developer Tools” w sekcji „Windows and Web Development”.

Nie zostało to jednak zaznaczone na mojej liście: /

wprowadź opis obrazu tutaj


Niestety, kiedy to wypróbowałem, znacznik wyboru właśnie wrócił. : <Nie chciał odejść. : <Nadal utknąłem z tym problemem. : <Bardzo fajnie teraz na VS. : <ogromny opad czasu.
— PHenry

Spójrz tutaj: stackoverflow.com/questions/33245041/… Objawy są takie same. Rozwiązałem ten problem, instalując .NET Core 1.0.0
— Ruard van Elburg

7

Narzędzia> Opcje> Edytor tekstu> Wszystkie języki> Ogólne. Odznacz opcję Ukryj zaawansowanych członków. Kliknij OK.

Kiedyś to zrobiłem, Intellisense wydawało się działać dla mnie. Następnie zresetowałem go z powrotem i zachowałem funkcjonalność. Używam programu Visual Studio 2015 w wersji Enterprise.

Próbowałem ResetUserData i to nie zadziałało.


1
Cóż, zadziałało, a potem wróciło do niedziałającego
— Shawn

1
To nie zadziałało dla mnie z C #. Jednak przeszedłem do Edytora tekstu> C # i zaznaczyłem / a następnie odznaczono opcję „Ukryj zaawansowanych członków”, po czym nacisnąłem ok i funkcja Intellisense ponownie zaczęła działać.
— Todilo

to też działało dla mnie i było o wiele lepsze niż resetowanie mojego środowiska!
— Paul Carroll,

Ciągle jest sprawdzany po tym, jak go odznaczyłem
— Tony_Henrich,

Miałem problem, w wyniku którego menu Intellisense pojawiało się na ułamek sekundy, a następnie znikało - to rozwiązało ten problem, a teraz menu pozostaje widoczne zgodnie z oczekiwaniami.
— X3074861X

6

Zainstalowałem Visual Studio Community Edition 2015 (po długim używaniu Visual Studio Community Edition 2013) i napotkałem ten sam problem. Wypróbowałem wszystkie powyższe rozwiązania, ale nic nie pomogło.

Na koniec zamknij program Visual Studio i usuń następujące foldery -

C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0
C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0

... i już działa !!!


to zadziałało dla mnie (pełne wydanie) VS 2015 Enterprise edition
— hal9000

Czasami to działa, a czasami nie. Naprawiło to dla mnie przez około 5 minut, a potem znowu zaczęło się dziać.
— Justin Skiles

To rozwiązało mój problem przynajmniej na razie. Może nie działać, ale zobaczymy. Wygląda na dziwny błąd i coś, co Microsoft powinien naprawić. Ten problem był zarówno w 2015, jak i 2017
— Deathstalker

5

Uruchamianie VS 2015 RTM. Ani / ResetUserData, ani / SafeMode nie działały dla mnie. Pojawiły się również skargi związane z Productivity Power Tools 2015 z wyskakującym okienkiem „errors-in-ActivityLog.xml” podczas uruchamiania VS.

Więc jeśli masz podobne objawy, oto jak to naprawiłem na moim komputerze:

  1. Uruchom „Uruchom eksperymentalne wystąpienie programu Visual Studio 2015” i otwórz projekt. Jeśli funkcja Intellisense działa, a składnia maszynki do golenia jest podświetlona, ​​masz duże szanse, że zadziała poniższe rozwiązanie.
  2. Odinstaluj „Productivity Power Tools 2015” i zamknij program Visual Studio.
  3. Przejdź do folderu %LOCALAPPDATA%\Microsoft\VisualStudio\i usuń go 14.0.
  4. Uruchom VS - powinien rozpocząć się tak, jak został właśnie zainstalowany.

PS Właściwie to zajęło mi kilka razy, zanim mój intelisense działał, ponieważ najpierw wyłączyłem PowerTools, a po ponownym włączeniu ponownie zepsuł VS. Tak więc wymaga całkowitej ponownej instalacji. Może to być spowodowane innym rozszerzeniem w twoim przypadku.


Pracuje dla mnie! Visual Studio 2015 Enterprise.
— Drewno

U mnie działa bez odinstalowywania „Productivity Power Tools 2015”. Visual Studio 2015 Enterprise.
— ShurikEv,

4

Będzie to efekt, jeśli twój projekt to MVC4. Zobacz więcej szczegółów tutaj . Pamiętaj również, że zostanie to poprawione w nadchodzącej wersji.
Jak możesz sprawdzić, czy Twój projekt to MVC4? Otwórz packages.config i przewiń do wpisu Microsoft.AspNet.Mvc. Jeśli wymieniona wersja zaczyna się od „4”, oznacza to, że używasz MVC 4.


To rzeczywiście jest problem dla mnie i / resetuserdata nie pomaga :(
— chrilith


Nie ma to nic wspólnego z MVC4. Projekty z MVC5 i 6 nadal cierpią z powodu tych problemów.
— Justin Skiles

to jest to, co ostatecznie okazało się przyczyną. Mój projekt to MVC 3. VS 2015 nie obsługuje MVC 3. Nic innego, co próbowałem, nie działało.
— RMuesi

4

Miałem podobny problem, w którym żaden skrypt maszynki do golenia nie byłby podświetlony, inteligencja nie działałaby, a kompilator nie rozpoznałby żadnych błędów (nawet tam, gdzie celowo wstawiłem błędy składniowe!)

Naprawiłem problem, przechodząc do C: / Users / YourUserName / AppData / Local / Temp i usuwając wszystko z tego pliku, gdy tylko to zrobiłem i ponownie uruchomiłem VS moje Razor Views zaczęły działać!

Mam nadzieję, że to pomoże!


To zadziałało dla mnie. Musiałem ręcznie usunąć niektóre elementy w folderze Razor-Server, które zostały zablokowane w procesie kompilacji.
— Rudy Scoggins

3

Niektóre widoki działały dobrze, inne wcale ... Jedyna rzecz, która mi pomogła:

  • Zamknięcie VS
  • Usuwanie C: \ Users \% username% \ AppData \ Local \ Temp
  • Ponowne uruchamianie VS
  • Problem rozwiązany

Wypróbowałem też większość innych rozwiązań, ale nie zadziałały.


2

Przyjazne przypomnienie, aby upewnić się, że poprawnie użyłeś małych liter @modelu góry widoku, a nie @Model(tak jak popełniłem błąd).

Małe litery @modelto dyrektywa, która silnie przypisuje widok do wystąpienia klasy, która po nim następuje. Podczas gdy wielkie litery Modelsą właściwością widoku, który pobiera instancję modelu.


1

Rozwiązałem problem, dołączając plik do projektu / rozwiązania. Przeoczyłem fakt, że nie ma podświetlania / inteligencji, jeśli nie jest uwzględnione.


0

Miałem ten sam problem i musiałem pobrać i zainstalować „Microsoft ASP.NET i narzędzia internetowe” oraz „Podstawowe programy sieciowe”. Po wykonaniu tego podświetlania składni i Razor Intellisense ponownie zaczął działać.


Nie miało to na mnie żadnego efektu. VS2015 Professional.
— Justin Skiles

Używam społeczności VS2015. Czy wypróbowałeś rozwiązanie firmy Geir Sagbergs? W CMD uruchom: „C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.exe” / ResetUserData
— Ogglas

2
Tak. Wypróbowałem każde rozwiązanie w każdym wątku w StackOverflow. Nic nie zadziałało. Nawet ponownie zainstalowałem VS i mój system operacyjny.
— Justin Skiles

Jeśli utworzysz nowy projekt konsoli po ponownej instalacji, czy to tam nie zadziała?
— Ogglas

0

Odinstalowane i ponownie zainstalowane z następujących działały dla mnie:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

Próbowałem zresetować dane użytkownika, usunąć temp i 14, a także zmienić ustawienia opcji i żadna z nich nie działała. Próbowałem nawet naprawić i ponownie zainstalować. Używam VS 2015 w wersji 14.0.24720.00 Update 1


U mnie też to zadziałało, miałem witrynę MVC4, na której pracowałem w VS2013 z powodu braku wsparcia do Aktualizacji 1. Po zainstalowaniu Aktualizacji 1 nadal nie działała w 2015 roku, ale odinstaluj i ponownie zainstaluj pakiety firmy Nuget rozwiązała problem.
— lostatredrock

0

W projekcie należy usunąć tylko folder „.vs” (folder .vs jest ukryty)

Uważaj, ResetUserDatausuń wszystkie dostosowania w programie Visual Studio.


0

Jedyną rzeczą, która działała, była zmiana ścieżki wyjściowej projektu na bin\(kiedyś bin\Debug):

  1. Kliknij projekt prawym przyciskiem myszy,
  2. Kliknij Propertiesi przejdź do Build,
  3. Przewiń do ostatniej sekcji zatytułowanej „Wyjście”,
  4. Zmień wartość w polu tekstowym oznaczonym Output path:nabin\

0

Powyższe nie działa, ale udało mi się:

  • Dezinstalacja (z programu i funkcji systemu Windows) Web Developer Toolsdla VS 2015, RC, aktualizacja 1
  • Instalowanie (z VS Installer -> Modyfikuj) Web Developer Tools(to kolejna wersja powyższego)

Problem polegał więc na tym, że instalator VS nie zainstalował Narzędzi dla programistów WWW, rozpoznając już zainstalowaną, niezgodną wersję jako właściwą.


0

Naprawiłem ten problem, aktualizując mój projekt do ASP .NET MVC w wersji 5. Ale wymagało to dalszych manipulacji z plikami konfiguracyjnymi. Tutaj znalazłem przewodnik krok po kroku:

  • w global.asax zmień: WebApiConfig.Register (GlobalConfiguration.Configuration); do GlobalConfiguration.Configure (WebApiConfig.Register);
  • Upewnij się, że wszystkie pakiety używane w projektach są zgodne z MVC 5 i interfejsem API sieci Web 2
  • Usuń dowolne z następujących pakietów NuGet ASP.NET, które są zainstalowane:
    1. Microsoft.AspNet.WebPages.Administration
    2. Microsoft-Web-Helpers ( nie mylić z Microsoft.AspNet.WebHelpers! )
    3. Microsoft.AspNet.Mvc.FixedDisplayMode
  • Uaktualnij wszystkie pakiety NuGet ASP.NET. W konsoli Menedżera pakietów można uruchomić następujące polecenie: Update-Package . Bez żadnych parametrów zaktualizuje każdy pakiet.
  • Zaktualizuj pliki konfiguracyjne aplikacji i widoków:
    1. Dla wszystkich elementów z atrybutem nazwy „System.Web.Mvc” zmień numer wersji na nowy (sprawdź wersję zestawu w eksploratorze rozwiązań, musi być równa lub wyższa niż „5.0.0.0”)
    2. Zrób to samo dla wszystkich elementów z atrybutem nazwy „System.Web.Helpers” i „System.Web.WebPages” .
    3. Sprawdź przekierowania powiązań dla zestawów „System.Web.Helpers” , „System.Web.Mvc” i „System.Web.WebPages” w plikach konfiguracyjnych, „oldVersion” i „newVersion” muszą być zgodne ze zmianami wprowadzonymi powyżej.
    4. Znajdź sekcję appSettings i zaktualizuj strony internetowe: wersja z „2.0.0.0.0” na „3.0.0.0”
    5. Zaktualizuj wszystkie elementy zawierające „System.Web.WebPages.Razor” z wersji „2.0.0.0” do wersji „3.0.0.0”. Jeśli ta sekcja zawiera „System.Web.WebPages” , zaktualizuj te elementy z wersji „2.0.0.0” do wersji „3.0.0.0”
    6. Jeśli w poprzednich krokach usunięto pakiet Microsoft-Web-Helpers NuGet, zainstaluj Microsoft.AspNet.WebHelpers za pomocą następującego polecenia w konsoli Menedżera pakietów: Install-Package -Id Microsoft.AspNet.WebHelpers

Mam nadzieję, że to pomoże.


0

Nieinwazyjnym podejściem jest sprawdzenie, czy w plikach View web.config są prawidłowe wersje. Te pliki Web.config znajdują się w folderach app / Area / AreaName / Views lub w ogólnych folderach app / Views. Różnią się one od pliku Web.config projektu.

  • Upewnij się, że każda wersja w ciągach zestawu typu jest zgodna z zainstalowaną wersją NuGet
  • Upewnij się, że wersja w ciągu zestawu factoryType jest zgodna z zainstalowaną wersją NuGet

Oto przykład najnowszego od momentu napisania tego komentarza:

<configSections>
 <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
 <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 </sectionGroup>
 </configSections>
<system.web.webPages.razor>
 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

0

To, co zadziałało dla mnie (Społeczność VS 2015), to opcja sugerowana w tej odpowiedzi. Uruchamiając cmd.exe jako administrator, uruchomiłem:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup

0

Pobrałem i zainstalowałem „Microsoft ASP.NET i narzędzia sieciowe” oraz „Podstawowe programy sieciowe” i to zadziałało.

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.