Pertanyaan Visual Studio 2015: Kesalahan Intellisense tetapi kompilasi solusi


Kami sedang mengevaluasi Visual Studio baru 2015 dan mengalami masalah aneh dengan intellisense. Ketika saya menyusun solusi utama kami dengan studio baru, build berhasil, namun tetap ada 6 kesalahan yang ditampilkan.

Saya menemukan bahwa itu bukan kesalahan nyata, tetapi hanya kesalahan intellisense. Kode ini benar-benar benar dan semuanya berhasil dikompilasi. Namun kode ditandai merah dan kesalahan muncul di daftar kesalahan.

Semua 6 kesalahan memiliki asal yang sama. Ini adalah 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 dipasang pada Windows 7 yang baru dipasang tanpa perangkat lunak warisan (tidak ada VS13).

Saya sudah mencoba membersihkan cache, menghapus file suo, menghapus bin dan obj direktori, membersihkan dan membangun kembali solusi, dll. Tetapi tidak ada yang berhasil.

Adakah yang bisa menjelaskan perilaku itu kepada saya?


75
2017-08-11 13:49


asal


Jawaban:


Juga memiliki masalah ini dengan proyek yang dimigrasikan, jadi saya mereferensikan dll Microsoft.CSharp. Dalam beberapa proyek saya perlu menghapus dan menambahkan kembali Referensi dalam proyek.


35
2017-09-15 12:40



Saya memiliki ribuan kesalahan intellisense dan 0 kesalahan build. Setelah menghapus file .suo restart VS intellisense kesalahan hilang.

File Suo terletak relatif ke sumber di: .vs \ SolutionName \ v14.suo

Menurut komentar: Berhati-hatilah bahwa * .suo adalah file tersembunyi.

Edit: Menurut komentar, VS2017 memiliki masalah yang sama, sehingga Anda dapat menggunakan solusi yang serupa: Hapus .vs \ SolutionName \ v15.suo


127
2017-11-02 12:30



Berlari ke masalah serupa di Visual Studio 2017 ASP.Net Core Project. Langkah-langkah berikut melakukan trik untuk saya

  1. Lakukan Solusi Bersih
  2. Tutup VS
  3. Hapus file .suo & Hapus direktori bin / obj
  4. Buka kembali VS

8
2018-04-01 21:24



Juga memiliki masalah ini (judul, bukan pesan kesalahan spesifik), serta garis berlekuk-lekuk di editor. Garis coretan pertama di bawah yang pertama #include pernyataan, yang menamai header terkompilasi. Intellisense gagal untuk menyertakan header dikompilasi, tetapi tidak mencantumkan bahwa sebagai kesalahan; Sebaliknya daftar kesalahan lebih lanjut ke bawah file, pada kode yang (sangat seharusnya) bergantung pada deklarasi di header dikompilasi.

Alasan Intellisense tidak menemukan header yang dikompilasi di lingkungan saya adalah bahwa header yang dinamai bukan file sebenarnya. Tidak harus dalam versi VC atau gcc lain yang saya gunakan, atau di compiler 2015, selama pengaturan header dikompilasi dikonfigurasi dengan benar. Ternyata tidak lagi untuk Intellisense. Saya tidak sepenuhnya yakin itu berbeda pada tahun 2013, mungkin saya tidak pernah memperhatikan.

Dalam kasus yang tidak mungkin ini akan menjadi masalah yang dilaporkan di sini, solusinya sederhana: membuat file kecil dengan nama-pretend dari header dikompilasi, sebagaimana ditentukan dalam #include arahan, dan biarkan file itu menyertakan nama sebenarnya dari header yang dikompilasi.

Jika Anda bertanya-tanya ... mengapa perbedaan antara nama header dikompilasi dalam pernyataan '#include' dan nama file sebenarnya dari header dikompilasi? Justru karena menjamin bahwa pengaturan header dikompilasi dengan benar dikonfigurasi. Di mana pun header yang dikompilasi adalah "#included", tidak ada file di sekitar yang dapat dimasukkan. Baik versi sebenarnya dari prompiled (binary) dari header yang sebenarnya dibaca, atau kompilasi gagal. Jelas, kerugiannya adalah hal itu membingungkan orang-orang membaca kode, bukan hanya Intellisense.


6
2017-09-15 20:55



Masalah serupa seperti yang lain, tetapi resolusi yang 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 memiliki editor menunjukkan kesalahan (semua yang terkait dengan jenis itu tidak dapat ditemukan meskipun referensi itu valid). Kompilasi bekerja dengan baik. Saya mengonfirmasi masalah yang sama di VS 2017 15,6 Pratinjau (6 Januari 2018). Saya akan mencoba menghapus file cache, file SUO, atau folder bin / obj dan tidak berdampak apa pun. Mula-mula akan tampak berhasil. Buka kembali Visual Studio dan semuanya akan terlihat bagus. Gunakan "Rebuild Solution" dan kesalahan IntelliSense akan kembali. Saya bahkan mencoba uninstall / instal 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, mereka semua muncul dari dua proyek yang direferensikan. Salah satu referensi itu adalah proyek bersama yang digunakan oleh hampir setiap proyek lain dalam solusi, tetapi salah satunya adalah proyek kecil tanpa banyak referensi. Kebetulan bahwa proyek kecil itu juga direferensikan oleh proyek bersama saya yang lebih besar. Di Visual Studio, saya membongkar proyek kecil dan memuatnya kembali. Kesalahannya hilang! Kesalahan mereka tidak kembali pada Solusi Rebuild.

Saya kemudian beralih cabang Git dan kesalahan semua kembali. Untungnya saya mengulangi langkah-langkah di atas untuk membongkar / me-reload proyek kecil dan kesalahannya hilang.

Setiap kali saya mengganti cabang Git, kesalahan akan kembali sampai saya mengulangi proses itu. Ada nol perubahan antara cabang Git untuk proyek yang lebih kecil yang saya muat / muat ulang. Tidak jelas mengapa urutan itu memperbaiki masalah saya.


5
2018-01-06 17:39



Hari ini saya punya masalah yang sama dengan MSVC ++ 2015. Saya hampir menyerah dan memutuskan untuk melanjutkan tanpa petunjuk IDE, tetapi kadang-kadang saya perhatikan bahwa stdafx.h dari subproyek yang bermasalah dengan saya tidak berisi header perpustakaan standar. Saya menyarankan bahwa itu mungkin memperlambat kompilasi modul, tetapi penyertaan header standar tetap ada Intellisense juga.


0
2018-01-22 19:40



Saya memiliki banyak stdfax.h di Tambahan Termasuk Direktori. Pastikan itu stdafx.h yang Anda maksudkan adalah yang pertama di jalan Anda.


0
2018-05-30 14:56



Saya memiliki masalah serupa dengan versi Visual Studio yang berbeda.

Menghapus folder .suo atau .vs tidak membantu saya.

Solusinya bagi saya adalah, bahwa saya memiliki ekstensi StopOnFirstBuildError aktif. Setelah mematikan "Stop build on first error" di menu build, dan setelah solusi selesai dibangun, kesalahan yang ditunjukkan oleh Intellisense hilang.


0
2018-03-13 07:34



Saya melihat kesalahan intellisearch hanya ketika mempublikasikan situs web. (ASP / C # site, VS 2017). Mereka memecahkan publikasi. Situs berjalan dengan baik secara lokal.

Hapus kesalahan dengan menghapus centang pengaturan untuk melakukan pra-kompilasi, dan dipublikasikan dengan baik.   Publish -> Setting -> File Publish Options -> Precompile saat penerbitan


0
2018-05-10 18:02