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:

DLeh
źródło
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 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.

fabriciorissetto
źródło
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.

Geir Sagberg
źródło
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.

Kevin
źródło
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

Bahtiyar Özdere
źródło
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.

Postmita
źródł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 !!!

Allwyn Dsouza
źródło
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.

Vladimir Abashin
źródło
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.

Van Kichline
źródło
To rzeczywiście jest problem dla mnie i / resetuserdata nie pomaga :(
chrilith
Więcej informacji: asp.net/mvc/overview/releases/ ...
Félix,
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!

reece240692
źródło
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.

zrozumiałem
źródło
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.

Kevin Collins
źródło
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.

Dave Clarke
źródło
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ć.

Ogglas
źródło
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

wirble
źródło
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.

Fred
źródło
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\
mono blaine
źródło
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ą.

Krystian
źródło
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.

Глеб Иконников
źródło
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" />
gregsonian
źródło
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
HeyJude
źródło
0

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

Anonimussssss
źródło