Mendapatkan "ketik atau nama namespace tidak dapat ditemukan" tetapi semuanya tampak ok?

276

Saya mendapat:

jenis atau nama namespace tidak dapat ditemukan

kesalahan untuk aplikasi C # WPF di VS2010. Area kode ini dikompilasi dengan baik, tetapi tiba-tiba saya mendapatkan kesalahan ini. Saya sudah mencoba menghapus Referensi Proyek dan usingpernyataan, menutup VS2010 dan memulai kembali, tetapi saya masih memiliki masalah ini.

Adakah ide mengapa ini mungkin terjadi, di mana sepertinya saya melakukan hal yang benar tentang referensi & usingpernyataan?

Saya juga mencatat dalam VS2010 bahwa intellisense untuk namespace bekerja ok, jadi sepertinya VS2010 memiliki referensi proyek dan melihat namespace di satu sisi, tetapi selama kompilasi tidak melihatnya?

Greg
sumber
Mungkin berhasil untuk menutup dan memulai kembali Visual Studio. Kadang-kadang tampaknya mendapatkan "Stuck"
Ris Adams
2
Bimbingan: 1) perakitan dimuat ?, 2) perakitan dimuat sesuai dengan perakitan asal ?, 3) "menggunakan" arahan yang menunjuk ke referensi lama atau tidak ada referensi yang valid?, 4) .csproj manifes termasuk sumber tidak valid?, 5) alat pencarian mencari regex dalam seluruh solusi (setiap perpustakaan kelas dan proyek). 5) memeriksa pengaturan proyek untuk opsi membangun versi kerangka kerja bersih (berkolaborasi dalam tim membawa masalah semacam ini, Anda harus menyetujui kerangka kerja bersih. Membangun versi di kedua sisi) 6) Setelah itu bersih dan bangun masing-masing dengan terpisah dan akhirnya, sertakan semua referensi ke perpustakaan proyek / kelas tujuan. Saya harus bekerja!
Felix Aballi
Periksa apakah Anda telah mereferensikan dll. Dll terletak di dalam folder bin dari direktori solusi Anda.
Abhishek Poojary

Jawaban:

471

Ini bisa menjadi hasil dari ketidakcocokan versi .Net framework antara dua proyek.

Itu bisa terjadi dalam dua cara:

  1. proyek profil klien referensi proyek kerangka penuh; atau
  2. versi kerangka kerja yang lebih lama menargetkan versi kerangka kerja yang lebih baru

Misalnya itu akan terjadi ketika aplikasi diatur untuk menargetkan kerangka Profil Klien .Net 4, dan proyek itu referensi menargetkan kerangka penuh .Net 4.

Jadi untuk membuatnya lebih jelas:

  • Proyek A menargetkan kerangka Profil Klien
  • Referensi Proyek A Proyek B
  • Proyek B menargetkan kerangka penuh

Solusi dalam hal ini adalah dengan meningkatkan target kerangka kerja aplikasi (Proyek A), atau menurunkan target perakitan yang direferensikan (Proyek B). Tidak apa-apa untuk aplikasi kerangka penuh untuk referensi / mengkonsumsi perakitan kerangka profil klien, tetapi tidak sebaliknya (profil klien tidak dapat merujuk perakitan kerangka kerja ditargetkan penuh).

Perhatikan bahwa Anda juga bisa mendapatkan kesalahan ini saat membuat proyek baru di VS2012 atau VS2013 (yang menggunakan .Net 4.5 sebagai kerangka kerja default) dan:

  • proyek referensi menggunakan. Net 4.0 (ini biasa terjadi ketika Anda telah bermigrasi dari VS2010 ke VS2012 atau VS2013 dan Anda kemudian menambahkan proyek baru)

  • proyek yang direferensikan menggunakan versi yang lebih besar yaitu 4.5.1 atau 4.5.3 (Anda telah menargetkan ulang proyek yang ada ke versi terbaru, tetapi VS masih membuat proyek baru yang menargetkan v4.5, dan Anda kemudian merujuk proyek-proyek yang lebih tua dari proyek baru)

pemalas
sumber
2
luar biasa - ini berhasil - Saya harus memutakhirkan klien aplikasi WPF saya untuk menggunakan .NET Framework 4. Tidak yakin apa dampak ini pada jejak klien? Saya memang mencoba menurunkan pustaka yang saya miliki ke Profil Klien .Net 4 namun ketika saya melakukan ini memiliki masalah yang serupa dengan perpustakaan pihak ke-3 Quartz.net baru-baru ini yang baru saja saya mulai gunakan. Jadi sepertinya menggunakan Quartz.net dalam proyek perpustakaan saya pada akhirnya memaksa saya harus menggunakan kerangka .Net 4 penuh dalam aplikasi UI WPF saya.
Greg
3
Terima kasih - ini membantu barusan. Saya baru-baru ini memindahkan solusi ke VS2012 dari VS2010, dan telah membuat satu perpustakaan kelas baru di VS2012. Tiba-tiba saya mendapatkan kesalahan ini, dan tentu saja itu karena perpustakaan kelas baru ditargetkan. NET 4.5 sedangkan proyek referensi itu ditargetkan. NET 4.0. Menurunkan versi perpustakaan baru ke target 4.0 memperbaikinya.
Richard
22
Benar-benar akan menyenangkan jika Visual Studio akan memberi Anda semacam petunjuk tentang ini!
Jason Coyne
3
Meskipun jawaban ini memberikan deskripsi yang bagus tentang apa yang perlu dilakukan ... tidak ada saran tentang bagaimana melakukannya, yang akan menjadi tambahan yang bagus
Jon Story
1
Bahkan yang terbaik dari kita kadang-kadang tidak pernah perlu melakukan beberapa tugas. Saya tidak yakin bagaimana saya tidak pernah perlu mengubah kerangka kerja dan meskipun sekarang saya sudah menemukannya, itu belum terpikir oleh saya sebelumnya. Itu bukan pemecah kesepakatan untuk jawabannya, hanya saja saya menemukan jawaban terbaik bertindak sebagai one-stop shop untuk 'menggambarkan masalah, nyatakan solusinya, tunjukkan bagaimana cara memperbaikinya'
Jon Story
50

Menginstal ulang paket nuget membantu saya. Setelah saya mengubah versi .NET Framework agar disinkronkan untuk semua proyek, beberapa paket nuget (terutama Entity Framework) masih diinstal untuk versi sebelumnya. Perintah ini di Package Manager Console menginstal ulang paket untuk seluruh solusi:

Update-Package reinstall
saxorut
sumber
Masalah yang saya hadapi adalah bahwa saya menciptakan solusi baru, bahwa saya menambahkan versi berbeda dari paket Nuget, daripada yang lain digunakan. Kemudian, ketika saya menjalankan Update-Package -reinstallsaya memiliki beberapa kesalahan dalam semua solusi, termasuk versi yang berbeda dari paket ini. Saya memperbarui semua kemudian akhirnya dijalankan. Itu diperbaiki juga referensi dalam file package.json 45-452, karena saya juga mengubah versi target waktu yang lalu.
Kdám Kovács
Bekerja untuk saya dan saya harus menghapus Sytems.Net.Http dari referensi saat menurunkan versi
Binil Anto
1
Ini juga yang berhasil bagi saya. Jalankan perintah, lalu
lepaskan
Ini bekerja untuk saya, itu menunjukkan kepada saya referensi yang tidak didukung dengan kerangka kerja saya saat ini
Adleri
ini bekerja untuk saya dan kesalahan yang hilang sama sekali tidak terkait dengan paket nuget yang diinstal.
CAD berpasangan
31

Saya tidak tahu mengapa ini berhasil, tetapi saya menghapus referensi proyek yang VS2015 katakan tidak dapat ditemukan, dan menambahkannya lagi. Memecahkan masalah. Saya sudah mencoba membersihkan, membangun dan memulai kembali VS tidak berhasil.

Alexander Høst
sumber
Sangat merekomendasikan trik ini setiap kali menemukan masalah referensi dalam solusi VS. Itu memecahkan masalah saya di VS2017 setelah saya menambahkan dalam proyek baru yang menargetkan versi yang lebih tinggi dari kerangka NET. Saya yakin ada beberapa caching yang dihapus.
themefield
1
Sama di sini: inilah yang membantu (saya juga tidak memiliki masalah versi lainnya). Saya mendapat pesan kesalahan untuk setiap file yang terbuka, hingga 400+ ... meskipun membangun / menjalankan bukan masalah. Juga: analisis luas-solusi ReSharper juga menunjukkan kesalahan yang sama.
mike
Bantu saya juga trik ini. Bahkan tidak memiliki perbedaan versi target. Bangunan itu mungkin, Rider tidak menunjukkan masalah tetapi VS tetap bersikeras bahwa semua referensi proyek hilang ...
Daniel Lerps
Kompilator mengkompilasi sesuai dengan pesanan pembangunan proyek, jadi jika ada kesalahan asli dalam satu proyek itu bisa hilang dalam lautan "jenis atau namespace red-herring tidak dapat ditemukan" kesalahan - karena hanya keluar ketika ia menemukan kesalahan, dan tidak bisa memperbarui referensi. Jika tidak ada terlalu banyak kesalahan yang terdaftar, Anda harus dapat menemukan kesalahan asli. Sayangnya ada 100-an untuk saya, jadi trik ini sangat membantu saya. Saya kira intelisense tidak peduli dengan urutan pembuatan dan hanya mengkompilasi proyek secara individual, dan itulah sebabnya Anda tidak mendapatkan kesalahan intelisense.
Kev
29

Ketika membangun solusi saya mendapatkan kesalahan yang sama (tipe atau namespace '' tidak dapat ditemukan). Di bawahnya saya melihat peringatan yang menyatakan bahwa "referensi tidak dapat diselesaikan" dan untuk memastikan "perakitan ada pada disk".

Saya sangat bingung, karena DLL saya sangat jelas di lokasi yang ditunjuk referensi. VS sepertinya tidak menyoroti kesalahan, sampai saya mencoba membangun solusinya.

Saya akhirnya menyadari masalahnya (atau setidaknya apa yang saya curigai adalah masalahnya). Saya sedang membangun file perpustakaan dalam solusi yang sama. Jadi meskipun ada pada disk, itu sedang dibangun kembali di lokasi itu (entah bagaimana dalam proses perpustakaan mendapatkan kembali proyek saya yang lain - dalam solusi yang sama - yang merujuk perpustakaan harus memutuskan bahwa perpustakaan tidak ada)

Ketika saya mengklik kanan pada proyek dan membangunnya saja, alih-alih seluruh solusi, saya tidak mendapatkan kesalahan.

Untuk memperbaiki masalah ini saya menambahkan perpustakaan sebagai ketergantungan pada proyek yang menggunakannya.

Untuk melakukan ini:

  1. Saya mengklik kanan pada Solusi saya di Solution Explorer dan memilih "Properties"
  2. Kemudian di "Properti Umum" saya memilih "Ketergantungan Proyek".
  3. Kemudian di menu drop-down Projects saya memilih proyek yang bergantung pada perpustakaan, dan
  4. Centang kotak di sebelah perpustakaan yang ditemukan di bawah "Tergantung Pada"

Ini memastikan bahwa proyek perpustakaan dibangun terlebih dahulu.

ksun
sumber
2
Terima kasih atas tipnya untuk melihat peringatan. Masalah saya adalah bahwa proyek pengujian saya perlu menginstal paket NuGet untuk Bcl karena proyek utama saya merujuknya.
Kim
Terima kasih! Ini mendorong saya untuk menemukan masalah yang saya alami. Ternyata saya punya dua referensi untuk proyek dependensi, dan salah satu yang diutamakan adalah DLL yang sebelumnya dibangun di folder bin. Saya menghapus DLL dan referensi jahat dan melakukan pembangunan kembali, semuanya dikompilasi dengan benar.
Chris Davis
7

Pertama saya akan memverifikasi bahwa informasi yang dihasilkan proyek Anda tidak rusak. Lakukan pembersihan dan bangun kembali solusi Anda.

Jika itu tidak membantu, satu hal yang saya lihat berhasil di masa lalu untuk masalah perancang adalah membuka proyek bentuk windows, kemudian menutupnya lagi. Ini sedikit isi perut ayam, jadi, jangan menahan nafas.

Greg D
sumber
Saya sudah mencoba membersihkan dan membangun kembali solusi Anda tetapi tidak berhasil. Sudah mencoba menghapus / menambah / membersihkan / membangun kembali hanya proyek aplikasi WPF dan masih belum berhasil juga. :(
Greg
Pembersihan diikuti oleh pembangunan kembali memperbaiki masalah. Namun, masalah ini muncul setiap hari. Setidaknya saya bisa menyelesaikan pekerjaan saya sampai saya menyelesaikannya sepenuhnya.
Valamas
5

Situasi rumit yang saya alami adalah: Proyek satu menargetkan kerangka kerja lengkap 4.0 dengan Microsoft.Bcl.Asyncpaket yang diinstal. Proyek dua menargetkan kerangka kerja 4.0 lengkap tetapi tidak akan dikompilasi ketika merujuk kelas satu Proyek.

Setelah saya menginstal paket Async NuGet pada proyek kedua itu dikompilasi dengan baik.

Kim
sumber
1
Ah terima kasih untuk ini. Proyek portabel saya mengkompilasi dengan baik pada Xamarin Studio sementara itu akan gagal pada Visual Studio karena ini. Saya pikir XS melakukan beberapa 'sihir' untuk membiarkannya dikompilasi ketika referensi implisit hilang.
Nicola Iarocci
5

Dalam kasus saya, saya menemukan referensi di VisualStudio memiliki segitiga, dan tanda seru seperti gambar ini,

kemudian, saya klik kanan hapus saja, dan tambahkan referensi dll dengan benar lagi, masalahnya selesai.

yu yang Jian
sumber
4

Yang ini berhasil untuk saya. Di kelas Anda, di mana nama kelas didefinisikan, misalnya: Kelas publik ABC, hapus satu karakter dan tunggu sebentar. Daftar kesalahan Anda akan bertambah karena Anda telah mengubah namanya. Sekarang pasang kembali karakter yang telah Anda ketik. Ini berhasil bagi saya, mudah-mudahan itu akan berhasil juga untuk Anda. Semoga berhasil!!!

Sandeep Goundar
sumber
4

Saya memiliki masalah serupa: Kompiler tidak dapat mendeteksi folder di dalam proyek yang sama , jadi menggunakan arahan yang menghubungkan ke folder itu menghasilkan kesalahan. Dalam kasus saya, masalahnya berasal dari penggantian nama folder . Meskipun saya memperbarui namespace dari semua kelas di dalam folder itu, info proyek entah bagaimana gagal diperbarui. Saya mencoba segalanya: menghapus file .suo dan folder bin dan obj, membersihkan solusinya, memuat ulang proyek - tidak ada yang membantu. Saya menyelesaikan masalah dengan menghapus folder dan kelas-kelas di dalamnya, membuat folder baru dan membuat kelas-kelas baru di folder baru itu (hanya memindahkan kelas-kelas di dalam folder baru tidak membantu).

PS: Dalam kasus saya, saya sedang mengerjakan aplikasi web, tetapi masalah ini dapat terjadi pada berbagai jenis proyek.

Ilia Anastassov
sumber
3

[Facepalm] Masalah saya adalah saya menambahkan ketergantungan pada cara C ++ dalam melakukan sesuatu.

Buka proyek yang tidak dapat dibangun, buka folder 'Referensi' di Solution Explorer, dan lihat apakah ketergantungan Anda terdaftar.

Jika tidak, Anda dapat 'Tambah Referensi' dan memilih ketergantungan pada tab Proyek.

Boom Shankar.


sumber
2

Kami punya kasus aneh tentang hal ini yang baru saja saya perbaiki dalam sebuah solusi. Ada karakter tersembunyi / spasi putih di depan pernyataan "menggunakan" di proyek utama. Proyek itu akan dibangun dengan baik dan situs web berfungsi dengan baik, tetapi proyek unit test yang direferensikan tidak dapat dibangun.

Henry Fieger
sumber
2

Saya mengalami masalah ini ketika memutakhirkan proyek yang ada dari VS2008 ke VS2012. Saya menemukan bahwa dua proyek (hanya dua yang saya buat) menargetkan berbeda .Net Frameworks (3.5 dan 4.0). Saya menyelesaikan ini pada tab Aplikasi proyek dengan memastikan bahwa kedua proyek memiliki ".NET Framework 4" di kotak Target Framework.

Tagihan
sumber
2

Memiliki kesalahan yang sama, cerita saya mengikuti: setelah salah menggabungkan (via git) salah satu file .csproj saya telah menggandakan compileentri seperti:

<Compile Include="Clients\Tree.cs" />
<Compile Include="Clients\Car.cs" />
<Compile Include="Clients\Tree.cs" />        //it's a duplicate

Jika Anda memiliki solusi besar dan lebih dari 300 pesan di jendela kesalahan, sulit untuk mendeteksi masalah ini. Jadi saya telah membuka file .csproj yang rusak melalui notepad dan menghapus entri yang digandakan. Bekerja dalam kasus saya.

Andrey Kotov
sumber
1
Saya memiliki masalah serupa dengan penggabungan buruk di VS 2019. Proyek berhasil dikompilasi, tetapi bukan solusinya. Sebenarnya ada kesalahan untuk proyek itu (sangat aneh). Itu gagal karena file tambahan yang dirujuk yang sebelumnya telah dihapus, tetapi kemudian ditambahkan kembali dari gabungan. Saya menghapus file, membersihkan file .csproj, membangun kembali, dan semua referensi mulai bekerja lagi.
Cryptc
2

Saya memiliki masalah yang sama seperti yang dibahas: VS 2017 menggarisbawahi kelas dalam proyek yang dirujuk sebagai kesalahan tetapi solusinya membangun ok dan bahkan karya intellisense.

Inilah cara saya mengatasi masalah ini:

  1. Bongkar proyek yang dirujuk
  2. Buka file .proj di VS (saya mencari duplikat seperti yang disarankan seseorang di sini)
  3. Muat ulang proyek lagi (saya tidak mengubah atau bahkan menyimpan file proj karena saya tidak memiliki duplikat)
Michael D.
sumber
1

Anda juga dapat mencoba menghilangkan kode yang Anda pikir mengalami masalah dengan dan melihat apakah itu mengkompilasi tanpa referensi ke kode itu. Jika tidak, perbaiki beberapa hal hingga kompilasi kembali, dan kemudian kerjakan kembali kode masalah yang Anda duga . Kadang-kadang saya mendapatkan kesalahan aneh tentang kelas atau metode yang saya tahu benar ketika kompiler tidak menyukai sesuatu yang lain. Setelah saya memperbaiki hal yang benar-benar digantung, kesalahan 'hantu' ini hilang.


sumber
1

Saya tahu ini menendang kuda mati, tetapi saya memiliki kesalahan ini dan kerangka di mana baik-baik saja. Masalah saya pada dasarnya menyatakan bahwa antarmuka tidak dapat ditemukan, namun itu membangun dan diakses dengan baik. Jadi saya berpikir: "Mengapa hanya antarmuka ini ketika orang lain bekerja dengan baik?"

Akhirnya saya benar-benar mengakses layanan menggunakan WCF dengan antarmuka titik akhir yang menggunakan Entity Version 6 dan sisa proyek menggunakan versi 5. Alih-alih menggunakan NuGet saya hanya menyalin paket nuget ke repositori lokal untuk digunakan kembali dan mendaftar secara berbeda.

misalnya EntityFramework6.dll versus EntityFramework.dll .

Saya kemudian menambahkan referensi ke proyek klien dan puf, kesalahan saya hilang. Saya menyadari ini adalah kasus tepi karena kebanyakan orang tidak akan mencampur versi Kerangka Entitas.

djangojazz
sumber
1

Menambahkan solusi saya ke dalam campuran karena itu sedikit berbeda dan butuh beberapa saat untuk mencari tahu.

Dalam kasus saya, saya menambahkan kelas baru ke satu proyek tetapi karena binding kontrol versi saya tidak diatur saya perlu membuat file dapat ditulis di luar Visual Studio (melalui VC). Saya telah membatalkan penyimpanan di Visual Studio tetapi setelah saya membuat file dapat ditulis di luar VS, saya kemudian menekan Simpan Semua lagi di VS. Ini secara tidak sengaja menyebabkan file kelas baru tidak disimpan dalam proyek..tetapi..Intellisense masih menunjukkannya sebagai warna biru dan valid dalam proyek referensi walaupun ketika saya mencoba untuk mengkompilasi ulang file tersebut tidak ditemukan dan mendapatkan ketik tidak ditemukan kesalahan. Menutup dan membuka Visual Studio masih menunjukkan masalah (tetapi jika saya perhatikan file kelas hilang setelah dibuka kembali).

Setelah saya menyadari ini, perbaikannya sederhana: dengan file proyek diatur ke dapat ditulisi, baca file yang hilang ke proyek. Semua membangun dengan baik sekarang.

Nick Gotch
sumber
1

Saya memiliki masalah yang sama. Suatu malam proyek saya akan dikompilasi keesokan harinya KESALAHAN !.

Saya akhirnya menemukan bahwa studio visual memutuskan untuk "mengubah" beberapa referensi saya dan menunjukkannya di tempat lain. sebagai contoh:

System.ComponentModel.ISupportInitialize entah bagaimana menjadi "blahblah.System.ComponentModel.ISupportInitialize"

Cukup kasar untuk dilakukan jika Anda sebagai saya

pengguna3784340
sumber
1

Peristiwa itu terjadi di Visual Studio 2017.

  1. Mulai ulang Visual Studio
  2. Proyek bersih yang gagal dibangun.
  3. Bangun kembali proyek.
Jalal
sumber
1

Kasus saya sama seperti yang dibahas di sini tetapi tidak ada yang menyelesaikannya sampai saya menghapusnya System.Core referensi dari daftar referensi (Semuanya bekerja dengan baik tanpa itu)

Semoga ini bisa membantu seseorang karena masalah ini cukup membuat frustrasi

yossico
sumber
Ini adalah masalah yang tepat bagi saya. Saya menghapus System.Core dan dibangun kembali, kesalahan segera diselesaikan sendiri. Terima kasih banyak telah menyelamatkan saya dari banyak sakit kepala
user1959309
1

Untuk mengatasi masalah ini, dapat juga membantu untuk menghapus dan membuat ulang *.sln.DotSettingsfile dari solusi terkait.

Robin Güldenpfennig
sumber
1

Dalam kasus saya, saya memiliki Kelas yang terdaftar di folder sumber yang tepat, tetapi tidak mendaftar di Solution Explorer. Saya harus melakukan klik kanan pada proyek> Tambah item yang ada dan secara manual pilih Kelas yang katanya hilang. Kemudian semuanya bekerja dengan baik!

MPJ567
sumber
1

Dalam kasus saya masalahnya adalah bahwa setelah mengubah namespace ke persis sama seperti di proyek lain (sengaja), nama majelis diubah juga oleh VS, jadi ada dua majelis dengan nama yang sama, satu menimpa yang lain

pengguna1121956
sumber
Di mana saya dapat mengedit nama majelis untuk mengubahnya ke nama yang benar?
Matt123
1
dalam file proyek (.csproj) secara manual atau dengan mengklik kanan pada proyek -> Properties
user1121956
0

Dalam kasus saya, saya memiliki file yang dibangun oleh dependensi eksternal (xsd2code) dan entah bagaimana file designer.cs-nya tidak diproses oleh VS dengan benar. Membuat file baru di Visual Studio dan menempelkan kode di dalamnya melakukan trik untuk saya.

Tanuki
sumber
0

Bagi siapa pun yang mendapatkan kesalahan ini ketika mereka mencoba untuk mempublikasikan situs web mereka ke Azure, tidak ada solusi yang tampak menjanjikan di atas yang membantu saya. Saya berada di kapal yang sama - solusi saya dibangun dengan baik sendiri. Saya akhirnya harus

  1. Hapus semua paket nuget dalam solusi saya.
  2. Tutup dan buka kembali solusi saya.
  3. Tambahkan kembali semua paket nuget.

Agak menyakitkan tetapi merupakan satu-satunya cara saya bisa mempublikasikan situs web saya ke Azure.

Dan
sumber
0

Saya mendapat kesalahan ini mencoba membuat membangun dengan membangun Layanan Tim Visual Studio berjalan pada mesin lokal saya sebagai agen.

Ini bekerja di ruang kerja reguler saya dengan baik dan saya bisa membuka file SLN dalam folder agen secara lokal dan semuanya dikompilasi ok.

DLL yang dimaksud disimpan dalam proyek sebagai Lib/MyDLL.DLLdan referensi dengan ini di file csproj:

<Reference Include="MYDLL, Version=2009.0.0.0, Culture=neutral, PublicKeyToken=b734e31dca085caa">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>Lib\MYDLL.dll</HintPath>
</Reference>

Ternyata itu benar-benar tidak menemukan file meskipun jalur petunjuk. Saya pikir mungkin msbuild mencari relatif ke file SLN daripada file proyek.

Bagaimanapun jika pesan yang Anda dapatkan adalah Could not resolve this reference. Could not locate the assembly kemudian pastikan bahwa DLL berada di lokasi yang dapat diakses oleh msbuild.

Saya agak curang dan menemukan pesan yang mengatakan Considered "Reference\bin\xxx.dll"dan hanya menyalin dll ke sana.

Simon_Weaver
sumber
0

Dalam kasus saya, menambahkan dll sebagai referensi memberi type or namespace name could not be found kesalahan. Namun, menyalin dan menempelkan file dll langsung di folder bin menyelesaikan kesalahan.

Tidak tahu mengapa ini berhasil.

Angka nol
sumber
0

Saya tahu utas ini sudah lama tetapi bagaimanapun juga saya berbagi, saya harus menginstal semua dependensi bagian ketiga dari rakitan yang diimpor - karena rakitan yang diimpor tidak dimasukkan sebagai paket Nuget sehingga ketergantungannya tidak ada.

Berharap bantuan ini :)

Samih A
sumber
0

Dalam kasus saya, saya memiliki dua proyek dalam solusi, saya menambahkan sub-namespace ke dalam proyek yang direferensikan, tetapi ketika membangun, saya tidak melihat bahwa membangun proyek yang direferensikan gagal dan menggunakan versi yang berhasil dibangun terakhir yang tidak memiliki namespace baru ini, jadi kesalahannya benar, sehingga tidak dapat ditemukan, karena tidak ada. Solusi ini jelas untuk memperbaiki kesalahan dalam proyek yang dirujuk.

Albert221
sumber
0

Saya sedang mengerjakan edisi komunitas VS 2017 dan memiliki masalah yang sama dengan paket nuget CefSharp.

Paket diunduh dan dipulihkan dengan sukses, proyek dapat dibangun dan dijalankan dengan sukses - hanya markup yang menunjukkan bahwa ruang nama tidak dikenali.

Yang harus saya lakukan adalah membuka Referencesbagian itu dan mengklik salah satu tanda seru kuning.

masukkan deskripsi gambar di sini

Setelah beberapa detik, kesalahan markup hilang.

masukkan deskripsi gambar di sini

Janis S.
sumber
Saya pikir Anda akan menemukan ini hanya berfungsi jika panel Properties dibuka (klik kanan referensi yang bermasalah dan pilih Properties.) Sekarang, adakah yang bisa menjelaskan mengapa ini berhasil?
Qwertie