Kami sedang mengevaluasi Visual Studio 2015 baru dan mengalami masalah aneh dengan IntelliSense. Ketika saya mengompilasi solusi utama kami dengan studio baru, build berhasil, tetapi 6 kesalahan ditampilkan.
Saya menemukan bahwa itu bukan kesalahan nyata, tetapi hanya kesalahan yang masuk akal. Kode tersebut pasti benar dan semuanya berhasil dikompilasi. Namun kode tersebut ditandai merah dan kesalahan muncul dalam daftar kesalahan.
Semua 6 kesalahan memiliki asal yang sama. Ini panggilan konstruktor sederhana. Cukup aneh, tetapi ada juga beberapa kejadian dari konstruktor yang sama persis tanpa kesalahan.
Pesan kesalahan:
Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the file>
Studio baru diinstal pada Windows 7 yang baru diinstal tanpa perangkat lunak lama (tanpa VS13).
Saya sudah mencoba untuk membersihkan cache, menghapus file suo, menghapus direktori bin dan obj, membersihkan dan membangun kembali solusi, dll. Tetapi tidak ada yang berhasil.
Adakah yang bisa menjelaskan perilaku itu kepada saya?
Jawaban:
Juga memiliki masalah ini dengan proyek yang dimigrasi, jadi saya mereferensikan Microsoft.CSharp dll. Dalam beberapa proyek saya perlu menghapus dan menambahkan lagi Referensi dalam proyek tersebut.
sumber
Saya mengalami ribuan kesalahan intellisense dan 0 kesalahan pembuatan. Setelah menghapus
.suo
file dan memulai ulang kesalahan VS intellisense hilang.Suo
file terletak relatif ke sumber di:.vs\SolutionName\v14\.suo
Menurut komentar: Hati-hati itu
*.suo
adalah file tersembunyi.Edit: Menurut komentar, VS2017 memiliki masalah yang sama, jadi Anda dapat menggunakan solusi serupa: Hapus.
vs\SolutionName\v15\.suo
sumber
*.suo
file mungkin tersembunyi dalam beberapa kasus. Jadi, Anda perlu mengaktifkanView Hidden files
opsi dari windows explorer.<%=Foo%>
mengatakan variabel tidak dideklarasikan, tetapi semuanya berfungsi saat runtime.Mengalami masalah serupa di Visual Studio 2017 ASP.Net Core Project. Langkah-langkah berikut berhasil bagi saya
sumber
Masalah serupa dengan yang lain, tetapi resolusi berbeda. Memposting jika saya dapat membantu orang lain.
Menjalankan Visual Studio 2017 15.5.2. Saya menggunakan Git dan sering berpindah cabang. Beberapa minggu yang lalu, saya mulai meminta editor untuk menunjukkan kesalahan kepada saya (semua terkait dengan jenis yang tidak dapat ditemukan meskipun referensinya valid). Kompilasi bekerja dengan baik. Saya mengonfirmasi masalah yang sama di VS 2017 15.6 Preview (6 Jan 2018). Saya akan mencoba menghapus cache, file SUO, atau folder bin / obj dan tidak ada dampaknya. Pada awalnya itu akan tampak berhasil. Buka kembali Visual Studio dan semuanya akan terlihat bagus. Gunakan "Rebuild Solution" dan kesalahan IntelliSense akan muncul kembali. Saya bahkan mencoba membongkar / menginstal ulang Visual Studio.
Saya memiliki masalah yang sama pada dua mesin, keduanya dengan versi Visual Studio yang sama.
Dengan melihat kesalahan tentang tipe yang hilang, semuanya tampak berasal dari dua proyek yang direferensikan. Salah satu referensi tersebut adalah proyek bersama yang digunakan oleh hampir semua proyek lain dalam solusi, tetapi salah satunya adalah proyek kecil tanpa banyak referensi. Kebetulan proyek kecil itu juga direferensikan oleh proyek bersama saya yang lebih besar. Dalam Visual Studio, saya membongkar proyek kecil dan memuatnya kembali. Kesalahannya hilang! Kesalahan mereka tidak muncul kembali pada Rebuild Solution.
Saya kemudian mengganti cabang Git dan semua kesalahan kembali. Untungnya saya mengulangi langkah-langkah di atas untuk membongkar / memuat ulang proyek kecil dan kesalahannya hilang.
Setiap kali saya mengganti cabang Git, kesalahan muncul kembali sampai saya mengulangi proses itu. Tidak ada perubahan antara cabang Git untuk proyek kecil yang saya bongkar / muat ulang. Tidak jelas mengapa urutan tersebut memperbaiki masalah saya.
sumber
Juga punya masalah ini (judul, bukan pesan kesalahan spesifik), serta garis berlekuk-lekuk di editor. Garis berlekuk-lekuk pertama berada di bawah garis pertama
#include
pernyataan , yang menamai header yang telah dikompilasi sebelumnya. Intellisense gagal menyertakan header yang telah dikompilasi, tetapi tidak mencantumkannya sebagai kesalahan; sebagai gantinya ia mencantumkan kesalahan lebih jauh ke bawah file, pada kode yang (sangat berhak) bergantung pada deklarasi di header yang telah dikompilasi sebelumnya.Alasan Intellisense tidak menemukan tajuk yang telah dikompilasi di lingkungan saya adalah karena tajuk bernama bukan file sebenarnya. Itu tidak harus dalam versi VC atau gcc lain yang saya gunakan, atau dalam kompiler 2015, selama pengaturan header yang telah dikompilasi telah dikonfigurasi dengan benar. Ternyata tidak lagi untuk Intellisense. Saya tidak sepenuhnya yakin itu berbeda pada tahun 2013, mungkin saya tidak pernah menyadarinya.
Dalam kasus yang tidak biasa bahwa ini akan menjadi masalah yang dilaporkan di sini, solusinya sederhana: buat file kecil dengan nama-pura-pura dari tajuk yang telah dikompilasi, seperti yang ditentukan di
#include
arahan, dan biarkan file itu menyertakan nama sebenarnya dari header yang telah dikompilasi sebelumnya.Jika Anda bertanya-tanya ... mengapa ada perbedaan antara nama header yang telah dikompilasi sebelumnya dalam pernyataan '#include' dan nama file sebenarnya dari header yang telah dikompilasi sebelumnya? Justru karena itu menjamin bahwa pengaturan header yang dikompilasi telah dikonfigurasi dengan benar. Di mana pun tajuk yang dikompilasi sebelumnya adalah "#included", tidak ada file di sekitarnya yang dapat disertakan. Entah versi header sebenarnya yang telah dikompilasi sebelumnya (biner) dibaca, atau kompilasi gagal. Jelas, kerugiannya adalah membingungkan orang membaca kode, bukan hanya Intellisense.
sumber
Visual Studio 2017 Saya telah menghapus file ".suo" dari lokasi .vs \ SolutionName \ v15.suo Dan kemudian me-restart Visual studio. Ini berhasil untuk saya.
sumber
Hari ini saya memiliki masalah yang sama dengan MSVC ++ 2015. Saya hampir menyerah dan memutuskan untuk melanjutkan tanpa petunjuk IDE, tetapi tiba-tiba saya menyadari bahwa stdafx.h dari proyek yang saya hadapi tidak mengandung header perpustakaan standar. Saya telah berspekulasi bahwa penyertaan semua header standar yang digunakan dalam proyek di stdafx.h dapat meningkatkan kecepatan kompilasi, namun melakukan hal itu memperbaiki kesalahan Intellisense juga.
sumber
Saya memiliki beberapa
stdfax.h
di Direktori Sertakan Tambahan. Pastikan yangstdafx.h
Anda inginkan adalah yang pertama di jalan Anda.sumber
Saya mengalami masalah serupa dengan versi Visual Studio yang berbeda.
Menghapus folder .suo atau .vs tidak membantu saya.
Solusi bagi saya adalah, saya mengaktifkan Extension StopOnFirstBuildError. Setelah mematikan "Hentikan build di atas kesalahan pertama" di menu build, dan setelah solusi sepenuhnya dibuat, kesalahan yang ditunjukkan oleh Intellisense hilang.
sumber
Saya melihat kesalahan intellisearch hanya saat menerbitkan situs web. (Situs ASP / C #, VS 2017). Mereka melanggar publikasi. Situs berjalan dengan baik secara lokal.
Menghapus kesalahan dengan menghapus centang pada pengaturan untuk dikompilasi sebelumnya, dan itu diterbitkan dengan baik. Publish -> Setting -> File Publish Options -> Precompile selama penerbitan
sumber
Dalam Visual Studio 2019 masalahnya adalah dengan mengubah cabang dengan Git ketika ada paket NuGet yang diinstal di proyek. Apa yang saya lakukan untuk menyelesaikan ini:
sumber