Visual Studio 2015 Patah Razor Intellisense


140

Setelah menginstal dan kemudian memperbaiki contoh VS2015 saya, saya masih tidak bisa mendapatkan intellisense (sisi server) untuk bekerja dalam tampilan MVC saya. Saya diberi tahu melalui prompt pesan segera setelah saya membuka untuk pertama kalinya dalam suatu sesi file .cshtml dan dialamatkan ke file Activitylog. Pesan kesalahan diambil di ActivityLog.xml (versi singkat):

System.ArgumentException: Item telah ditambahkan. Kamus kunci: 'RazorSupportedRuntimeVersion'

Ini versi lengkapnya:

System.Reflection.TargetInvocationException: Pengecualian telah dilemparkan oleh target doa. ---> System.ArgumentException: Item telah ditambahkan. Kamus kunci: 'RazorSupportedRuntimeVersion'Kunci yang ditambahkan: 'RazorDidukungRuntimeVersion' di System.Collections.Hashtable.Insert (Kunci objek, Nilai objek, tambah Boolean) di System.Collections.Hashtable.Add (Kunci objek, Nilai objek) di System.Collections.Specialized.HybridDictionary.Add (Kunci objek, Nilai objek) di Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty (kunci Object, properti Object) di Microsoft.VisualStudio.Html.Paket .GetVersion (ITextBuffer textBuffer) di Microsoft.Html.Editor.Berikut bahasa.RazorUtility.TryGetRazorVersion (ITextBuffer textBuffer, Versi & razorVersion) di Microsoft.Html.Editor.Rext teksTanggapan.Tempor dari jejak tumpukan pengecualian dalam --- di System.RuntimeMethodHandle.InvokeMethod (Objek target, argumen [] objek, sig tanda tangan, konstruktor Boolean) di System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, Binder binder, parameter [], budaya pengikat, parameter budaya) Budaya B , Binder binder, Object [] args, CultureInfo culture, aktivasi [ObjekAttributes, StackCrawlMark & ​​stackMark) di System.Activator.CreateInstance (Jenis tipe, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] args at at System.Activator.CreateInstance (jenis Type, Object [] args) di Microsoft.Html.Editor.ContainLanguage.Common.ContainedCodeErrorTaggerProvider'1.CreateTagger [T] (ITextBuffer textBuffer) di Microsoft.VisualStudio.Text.1.GatherTaggers (ITextBuffer textBuffer)

Jika ada bantuan, saya memiliki beberapa penyesuaian pewarnaan font, dan menginstal ekstensi Essentials Web, Bundler & Minifier dan Web Compiler.

UPDATE : itu terjadi ketika saya membuka aplikasi web yang ada atau ketika saya membuat yang baru dari awal. Ada juga instance VS2013 yang diinstal dan dijalankan pada mesin yang sama.

Tidak ada kecerdasan sama sekali

Seperti yang Anda lihat dari gambar di atas, saya sama sekali tidak mendapatkan intellisense, atau pewarnaan kode apa pun.

Adakah petunjuk tentang cara memperbaikinya? Terima kasih sebelumnya.


1
Coba mulai proyek web baru menggunakan templat web default. Jika berhasil maka masalah tersebut terkait dengan proyek Anda. Setidaknya lebih mudah untuk mempersempitnya.
Rosdi Kasim

Maaf Rosdi, saya harus memberikan detail lebih lanjut. Saya memperbarui teks di atas sesuai. BTW, terus googling Saya baru saja menemukan umpan balik terbuka di sini connect.microsoft.com/VisualStudio/feedback/details/1579142/... yang melaporkan masalah saya yang sama persis.
Cristian Merighi

Coba ini: stackoverflow.com/questions/17598359/… bekerja untuk saya
Knerd

Hai Knerd, faktanya saya tidak mendapatkan Intellisense sama sekali (lihat gambar di atas). Bagiku terasa lebih seperti masalah inti visual studio daripada beberapa pengaturan proyek yang salah (saya mendapatkan masalah yang sama dalam tampilan templat default dari proyek baru).
Cristian Merighi

Ini adalah bagaimana saya memperbaiki masalah yang sangat mirip di VS 2015 RTM: stackoverflow.com/a/32308899/1551276
Vladimir Abashin

Jawaban:


127

Saya memecahkan masalah ini dengan mengatur ulang data pengguna

devenv.exe /resetuserdata

dan hapus folder ".vs" di proyek saya.


PERINGATAN: ini akan mengatur ulang semua pengaturan pengguna Anda. Pada dasarnya, ini seperti mengatur ulang ke default pabrik. Anda akan kehilangan pintasan keyboard khusus, ekstensi yang telah Anda instal, dll.


14
Saya tidak perlu menghapus folder .vs untuk ini untuk memperbaiki masalah saya. resetuserdata sudah cukup
Phil

9
Pastikan Anda menjalankannya dari folder ini "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \" khusus jika Anda memiliki lebih dari satu VS yang diinstal pada komputer Anda.
Miguel

10
Bagi saya devenv.exe /resetuserdata tidak memperbaiki masalah! FYI: Saya tidak mendapatkan kesalahan tetapi VS tidak melukis sintaks untuk tampilan Razor.
A-Sharabiani

7
Ketahuilah bahwa Anda akan kehilangan semua pengaturan Visual Studio Anda seperti ekstensi dan kredensial (dari akun yang Anda masuki)! VS harus ditutup sebelum Anda menjalankan devenv.exe /resetuserdata.
fabriciorissetto

9
Sebelum Anda menggunakan perintah ini, ketahui apa fungsinya. Selain ketidaknyamanan kecil seperti mengeluarkan Anda dari Visual Studio dan mengatur ulang windows Anda, itu juga menghapus beberapa ekstensi dan Resharper. Menemukan versi yang benar untuk menginstal ulang membutuhkan waktu lebih lama dari yang saya harapkan.
Jason

162

Ini telah berulang bagi saya juga dan tampaknya terhubung ke pembaruan ekstensi tetapi saya belum bisa menyalahkan sesuatu yang spesifik. Apa yang saya dapat temukan adalah resolusi yang tidak terlalu mengganggu.

Dalam kasus saya menghapus isi direktori ini memungkinkan IDE untuk memulihkan:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Sunting: Saya baru saja menemukan yang ini mungkin berguna juga - Hapus Cache Komponen MEF (Buka Galeri VSIX)


6
ResetUserData telah bekerja untuk saya, tetapi masalah kembali. Ini berfungsi dan jauh lebih tidak mengganggu (tidak perlu mengembalikan semua ekstensi Anda).
ChadT

13
Ini bekerja untuk saya tanpa menjalankan devenv.exe / resetuserdata
Jaecen

4
Ini juga bekerja untuk saya. Saya mencoba perintah resetuserdata pertama, tetapi itu tampaknya tidak melakukan apa-apa. Ini berhasil segera!
yesman

4
Ini bekerja untuk saya, itu terjadi beberapa kali, dan saya selalu mengatur ulang data pengguna dan itu mengerikan, saya menggunakan Roaming Extension Manager untuk membuatnya lebih mudah untuk menginstal ulang ekstensi
ivi.hamiti

2
Tidak memperbaiki masalah di VS2015 Professional. Penyorotan sintaks dan intellisense masih belum berfungsi. Tidak ada kesalahan yang ditampilkan.
Justin Skiles

11

FWIW, saya punya masalah dengan VS 2015 Enterprise pada dua mesin yang berbeda. Di satu mesin, mengatur ulang data pengguna membuat masalah hilang (untuk sementara waktu). Di mesin lain, saya harus menghapus dan menginstal ulang VS, dan masalahnya hilang untuk sementara waktu. Di kedua mesin, masalahnya muncul kembali setelah saya menginstal ekstensi (sekali ketika menginstal Web Essentials, sekali ketika menginstal Git Diff Margin).

Saya membakar kasus dukungan teknis MSDN, dan jawabannya adalah ... Ya, ini bug, MS tahu tentang itu, dan mereka sedang mengusahakannya.

Bukan jawaban yang bisa ditindaklanjuti, tapi jawaban tetap ...

EDIT: Dan pada masalah mengatasi masalah, saya telah mengalami masalah beberapa kali sejak saya memposting "jawaban" ini. Baru-baru ini, saya menginstal pembaruan ke NuGet Package Manager, dan ketika VS restart itu mulai mengalami masalah ini. Saya berlari devenv.exe /resetuserdata, tetapi itu tidak membantu; masih rusak. Jadi saya mencoba lagi (berlari devenv.exe /resetuserdata) dan, bada bing bada booming, masalahnya hilang (untuk sekarang). Moral tampaknya menjadi sesuatu di sepanjang garis "jika pada awalnya Anda tidak berhasil ..."


Beberapa peringatan bahwa ini menghapus semuanya akan bermanfaat. Konfigurasi panel saya hilang, penyorotan sintaks saya hilang dan masalahnya masih belum diperbaiki. :( Bagaimana cara mendapatkan data saya kembali?
Henry Ing-Simmons

8

Mungkin terjadi duo untuk memiliki Resharper.
Ini akan diperbaiki di versi masa depan tetapi pada saat ini (versi 10.0.2) rusak. Resharper mengesampingkan kecerdasan Visual Studio dan karenanya tidak akan berfungsi. Yang juga menjelaskan mengapa menjalankan devenv.exe /ResetUserDataperbaikan sejak dihapus Resharper.

Secara manual mengembalikan kekuatan intellisense ke VS melalui menu:
ReSharper>> Enviroment>> IntelliSense>> Isi berikut ini:
masukkan deskripsi gambar di sini

Dan beginilah tampilan intellisense dari VS:
masukkan deskripsi gambar di sini


6

Saya bertemu dengan masalah yang sama, tetapi penyebabnya berbeda dari jawaban lainnya.

Pembaruan Visual Studio, saya menduga pembaruan TypeScript pada September 2015, menghapus komponen Alat Pengembang Web Visual Studio 2015. Itu menyebabkan Intellisense tidak berfungsi.

Saya menginstal Alat Pengembang Web dalam opsi installer lagi DAN menghapus ComponentModelCache setelah instalasi. Itu berhasil bagi saya.


Ini memecahkan masalah bagi saya juga. Ketika melakukan perbaikan pada VS2015 melalui program add / remove, saya bisa melihat bahwa Alat Pengembang Web bahkan tidak diinstal. Memeriksa kotak dan menyelesaikan berhasil.
Anders Jakobsen

4

Ini memperbaikinya untuk saya segera.

Dalam Visual Studio:

Klik Alat-> Pilihan-> Editor Teks-> Semua Bahasa-> Umum Hapus centang "Anggota daftar otomatis" Hapus centang "Informasi parameter" Periksa "Anggota daftar otomatis" (ya, yang baru saja Anda hapus centangnya) Periksa "Informasi parameter" (lagi, yang baru saja Anda hapus centangnya) Klik OK


Mencoba resetuserdata, menghapus vssc, menghapus cache komponen dan tidak berfungsi. Setelah saya mencoba ini dan Ini Berhasil! Terima kasih
c0demaster


1

Itu /ResetUserData solusi adalah taruhan terbaik Anda, tapi saya juga berpikir saya telah menemukan kemungkinan penyebab ini ...

Saat ini saya menggunakan Umbraco untuk membuat Partial Makro di BackOffice. Ketika file-file ini dibuat saya klik pada tombol Sembunyikan / Tampilkan semua file untuk menunjukkan Makro Partial dalam solusi saya dan Sorotan Sintaks Razor tampaknya berhenti bekerja sehingga dugaan saya adalah file baru yang diperkenalkan ke solusi Anda yang tidak dibuat langsung melalui VS menyebabkan masalah ini.

Bahkan ketika menambahkan file ke solusi Syntax Highlighting tidak berfungsi.


Menarik, karena saya mengalami ini dengan Umbraco juga .. Umbraco 7.4.3 dan VS 2015, khususnya ..
Brian Lacy

1

Terkadang, Ide VS tidak menunjukkan Intellisense sama sekali. Saya hanya menutup solusinya. Tutup VS. Kemudian buka kembali dan masalahnya terpecahkan.


1

Ada solusi lain, tanpa mengatur ulang semua data pengguna

(tetapi hanya tata letak / toolbar jendela):

tutup semua instance VS2015, [akhirnya cadangan, dan] hapus folder:

"[User Directory]\AppData\Roaming\Microsoft\Visual Studio\14.0"

Sekarang, buka kembali VS2015: tata letak diatur ulang ke pengaturan awal pabrik, tetapi sintaks Razor akan berfungsi


1

FYI: Instalasi VS VS PRO PRO saya sudah diinstal penuh dengan semua pihak ketiga.

Saya mencoba semua solusi yang mungkin di sini dalam artikel, itu tidak membantu saya. Apa yang ditulis Craig Goldensoph membantu saya menemukan solusi untuk saya.

Jadi pertama saya lakukan: Hapus centang semua kotak centang untuk Editor Teks-> Semua Bahasa-> Penyelesaian Pernyataan Umum: masukkan deskripsi gambar di sini

Setelah Klik OK- Buka kembali Dialog Opsi: Dan periksa semua untuk bagian yang sama: masukkan deskripsi gambar di sini

dan menerapkan pengaturan lagi. Anda harus me-Restart studio Visual Anda. Setelah restart itu akan membutuhkan waktu untuk memuat, tetapi setelah itu bekerja untuk saya.


Masalah umum Apa yang saya baca semua orang memiliki masalah yang sama dan selalu diperbaiki dengan cara yang berbeda. Saya baru saja membagikan apa yang membantu saya. Maaf, tidak bisa menjadi solusi untuk semua orang.
Eugene Bosikov

1

Jika tidak ada opsi lain yang berfungsi, ada solusinya. Setelah memasukkan '.' operator tekan tombol "Ctrl + Spasi" yang akan memaksa dialog Intellisense muncul.

Saya mengalami masalah ini ketika bekerja dengan file pisau cukur .cshtml MVC.


0

Ini mungkin terdengar lucu tetapi hanya untuk melakukan satu hal ..

Letakkan Breakpoint pada sembarang baris dan kemudian tunggu selama 5 detik yang tidak bekerja kemudian pergi ke baris pertama dan letakkan break point di sana dan saat Anda meletakkan breakpoint itu akan meminta pengaturan break point. masukkan deskripsi gambar di sini klik pada pengaturan itu dan tutup pengaturan itu. Selesai Intellisense Anda sekarang berfungsi.

Saya memiliki VS 2015 Komunitas edisi. Sebelumnya memiliki VS 2015 Enterprise dan itu terjadi pada itu tetapi setelah mendapatkan komunitas saya menemukan hal yang sama terjadi dan solusi yang sama berfungsi untuk keduanya.

Saya menemukan solusi itu secara tidak sengaja selama bekerja. Juga lakukan itu ketika proyek tidak berjalan. Dan Anda dapat menghapus titik istirahat itu juga.


0

Anda tidak perlu mengatur ulang semuanya, cukup hapus semua file dari %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCachedan restart VS, itu akan baik-baik saja.


0

Saya telah memposting jawaban ini pada pertanyaan SO lainnya, hanya karena saya ingin mencegah orang membuang-buang waktu yang baru saja saya buang. Masalah saya adalah saya menambahkan file ke proyek, tetapi tidak memasukkannya. Jadi saya memilih untuk menampilkan semua file:

masukkan deskripsi gambar di sini

kemudian memilih untuk memasukkan folder:

masukkan deskripsi gambar di sini

Masalahnya hanya muncul ketika Anda membuka situs web MVC sebagai proyek, dan tidak ketika Anda membukanya sebagai situs web secara langsung.



0

Punyaku sedikit sakit pada keester tetapi tampaknya berhasil. Dalam kasus saya itu adalah file .aspx yang tidak akan melakukan Intellisense lagi (setelah saya dengan bodoh mengubah nama file .aspx ... pelajaran yang didapat!)

  1. Saya menyalin semua kode saya dari file (.aspx & .cs) ke notepad misalnya.
  2. Menghapus file .aspx (yang pada gilirannya menghapus semua file anak).
  3. Menyelamatkan proyek saya. Membuat file .aspx baru dengan nama yang sama.
  4. Salin / tempel kode saya dari notepad.
  5. Disimpan itu.
  6. Mencoba kecerdasan lagi. Berhasil!

Kelilingi tentang cara tetapi tidak seburuk menghapus / menginstal ulang yang benar-benar berlebihan. Semoga beruntung semuanya! Semoga MS akan memperbaiki ini di tahun-tahun ini!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.