File metadata '.dll' tidak dapat ditemukan

723

Saya sedang mengerjakan proyek WPF, C # 3.0, dan saya mendapatkan kesalahan ini:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

Ini adalah bagaimana saya merujuk kontrol pengguna saya:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

Itu terjadi setelah setiap bangunan gagal. Satu-satunya cara saya bisa mendapatkan solusi untuk mengkompilasi adalah dengan mengomentari semua kontrol pengguna saya dan membangun kembali proyek, dan kemudian saya batalkan komentar pada kontrol pengguna dan semuanya baik-baik saja.

Saya telah memeriksa konfigurasi pesanan dan dependensi.

Seperti yang Anda lihat, tampaknya telah memotong jalur absolut file DLL ... Saya telah membaca bahwa ada bug dengan panjangnya. Apakah ini masalah yang mungkin terjadi?

Sangat menjengkelkan dan harus berkomentar, membangun, dan menghapus komentar, versi ini menjadi sangat melelahkan.

Oliver
sumber
5
Saya memiliki masalah yang sama (mendapatkan kesalahan yang sama yang ditunjukkan pada judul) dan menanganinya dengan membersihkan dan membangun kembali proyek. Untuk referensi proyek lain dengan benar, saya tidak tahu ..
phoad
Apakah pertanyaan ini memiliki jawaban yang akan memenuhi syarat sebagai diterima? Saya menemukan yang oleh @Matt_Bro cukup bagus.
demongolem
4
Saya telah menandai jawaban Matt karena tampaknya berhasil bagi kebanyakan orang, tetapi ini tidak menyelesaikan masalah awal saya. Saya masih berpikir itu terkait dengan batas jalur maks Windows. Lihat jawaban saya di bawah ini.
Oliver
Saya mencoba semua jawaban di atas dan sayangnya tidak ada yang berhasil dalam kasus saya. Saya mengalami 2 kesalahan 1. File .dll tidak ada 2. Metode sudah ditentukan di tempat lain dengan parameter yang sama Saya telah menghapus kesalahan kedua terlebih dahulu dengan menghapus fungsi yang telah digandakan di tempat lain. Kesalahan pertama saya - yaitu file .dll yang hilang telah diselesaikan dengan sendirinya. Saya ingin mengatakan jika Anda memiliki lebih dari satu kesalahan bersama dengan kesalahan file .dll hilang! Coba selesaikan kesalahan lainnya terlebih dahulu. Mungkin kesalahan .dll diselesaikan sendiri!
Seorang pengguna

Jawaban:

908

Saya hanya punya masalah yang sama. Visual Studio tidak membangun proyek yang dirujuk.

Instruksi Tertulis:

  1. Klik kanan pada solusi dan klik Properties.
  2. Klik Konfigurasi di sebelah kiri.
  3. Pastikan kotak centang di bawah "Build" untuk proyek yang tidak dapat ditemukan dicentang. Jika sudah dicentang, hapus centang, tekan berlaku dan centang kotak lagi.
  4. (Opsional) Anda harus melakukannya untuk mode Rilis dan Debug pada properti solusi.

Petunjuk tangkapan layar:

  • Mereka mengatakan gambar bernilai ribuan kata. Klik pada GIF untuk memperbesar, dan mudah-mudahan akan mudah diikuti:

Instruksi Gif

Matt_Bro
sumber
177
Dan, dalam kasus saya, meskipun kotak centang sudah dicentang, hapus centang dan centang lagi untuk menyelesaikan masalah.
ngm
13
Ini memperbaiki masalah saya - saya harus melakukannya untuk mode Rilis dan Debug pada properti solusi. Terima kasih!
theJerm
133
Simble hapus centang / centang tidak menyelesaikan masalah jadi saya harus melakukan langkah selanjutnya: - solusi bersih - hapus centang semua build checkbox - restart VS - centang semua build checkbox - build solution
frankie
27
Hal lain yang harus dilakukan adalah memeriksa setiap dependensi proyek, untuk beberapa alasan tidak mengatur ini secara otomatis. Properti Solusi -> Properti Umum -> Ketergantungan Proyek.
Anicho
9
hapus centang -> periksa bekerja untuk saya sebentar kemudian masalahnya kembali. Kemudian saya memulai kembali Visual Studio dan masalahnya hilang.
DeveloperDan
224

Ini masih dapat terjadi di versi Visual Studio yang lebih baru (Saya baru saja melakukannya di Visual Studio 2013):

Hal lain yang harus dicoba adalah menutup Visual Studio dan menghapus .suofile yang ada di sebelah .slnfile. (Ini akan dihasilkan kembali saat Anda berikutnya Save all(atau keluar dari Visual Studio)).

Saya mengalami masalah ini ketika menambahkan proyek baru ke solusi di komputer lain dan kemudian menarik revisi, tetapi .suofile tersebut dapat rusak dalam kasus lain juga dan menyebabkan perilaku Visual Studio yang sangat aneh, sehingga menghapusnya adalah salah satu hal yang selalu saya coba.

Perhatikan bahwa menghapus .suofile akan mengatur ulang proyek startup dari solusi.

Lebih lanjut tentang .suofile ada di sini .

corvuscorax
sumber
24
Ini memperbaiki masalah bagi saya. Juga patut disebutkan adalah bahwa .suofile disembunyikan. Jadi, Anda harus menyiapkan penjelajah untuk menampilkan file tersembunyi.
George Howarth
6
Saya sedang bekerja dengan proyek Xamarin dan file .suo terletak di folder .vs /. Saya mencoba menghapusnya dan itu tidak menyelesaikan masalah saya
VS2013 - Saya harus memindahkan TFS Workspace saya ke lokasi yang berbeda. Setelah saya menyelesaikan ini saya mulai mendapatkan kesalahan ini. Menghapus file sou bekerja untuk saya.
Vin
40
Ini juga berhasil bagi saya. Namun dalam Visual Studio 2015, .suofile tersebut tersembunyi dan duduk di dalam .vsdirektori tersembunyi di samping .sln. misalnya: jika file solusi c:\foo\mysolution.slnkemudian caric:\foo\mysolution\.vs\mysolution\v14\.suo
Wyck
6
Untuk VS2017, untuk kesederhanaan, saya hanya menghapus .vsfolder yang disembunyikan yang juga menghapus .suofile. Saya membuka kembali solusinya, memperbaiki satu kesalahan lagi yang tidak terkait, dan masalah ini diselesaikan.
user3613932
183

Jawaban yang disarankan tidak berhasil untuk saya. Kesalahan adalah umpan untuk masalah lain.

Saya mengetahui bahwa saya menargetkan versi .NET yang sedikit berbeda dan ini ditandai sebagai peringatan oleh kompiler, tetapi itu menyebabkan bangunan gagal. Ini seharusnya ditandai sebagai kesalahan dan bukan peringatan.

jordan koskei
sumber
9
Saya dapat memperbaiki dengan mencocokkan kerangka kerja untuk proyek ke versi yang lebih tinggi yang ditunjukkan dalam pesan peringatan dengan mengklik kanan pada proyek> Properti> Aplikasi> Kerangka Target.
StronglyTyped
1
Sama untuk saya, menggunakan vs2015.
bruno.bologna
ya. persis ini terjadi pada saya juga. VS 2015
KevinDeus
Terima kasih! Ini menyelesaikan masalah saya. VS 2015 setelah meningkatkan proyek ke .Net Framework 4.7.1.
DHoover
Wow, ini memperbaikinya untuk saya. Proyek baru menargetkan versi .net yang berbeda. Tidak percaya tidak ada cek untuk ini bahkan di vs2017.
Douglas Gaskell
104

Yah, jawaban saya bukan hanya ringkasan dari semua solusi, tetapi menawarkan lebih dari itu.

Bagian 1):

Dalam solusi umum:

Saya memiliki empat kesalahan semacam ini ('file metadata tidak dapat ditemukan') bersama dengan satu kesalahan yang mengatakan 'File Sumber Tidak Dapat Dibuka (' Kesalahan tidak ditentukan ')'.

Saya mencoba untuk menyingkirkan kesalahan 'file metadata tidak dapat ditemukan'. Untuk itu, saya membaca banyak posting, blog, dll dan menemukan solusi ini mungkin efektif (meringkasnya di sini):

  1. Mulai ulang Visual Studio dan coba buat lagi.

  2. Pergi ke 'Solution Explorer' . Klik kanan pada Solution. Pergi ke Properties . Pergi ke 'Pengelola Konfigurasi' . Periksa apakah kotak centang di bawah 'Bangun' dicentang atau tidak. Jika ada atau semuanya tidak dicentang, maka periksa dan coba bangun lagi.

  3. Jika solusi di atas tidak berfungsi, maka ikuti urutan yang disebutkan pada langkah 2 di atas, dan bahkan jika semua kotak centang dicentang, hapus centang, centang lagi dan coba buat lagi.

  4. Bangun Ketertiban dan Ketergantungan Proyek:

    Pergi ke 'Solution Explorer' . Klik kanan pada Solution. Pergi ke 'Ketergantungan Proyek ...' . Anda akan melihat dua tab: 'Ketergantungan' dan 'Bangun Pesanan' . Urutan build ini adalah solusi yang dibangun. Periksa dependensi proyek dan urutan pembangunan untuk memverifikasi jika beberapa proyek (katakan 'project1') yang bergantung pada yang lain (katakan 'project2') sedang mencoba untuk membangun sebelum yang satu itu (project2). Ini mungkin menjadi penyebab kesalahan.

  5. Periksa jalur .dll yang hilang:

    Periksa jalur .dll yang hilang. Jika jalur berisi spasi atau karakter jalur yang tidak valid lainnya, hapus dan coba buat lagi.

    Jika ini penyebabnya, maka sesuaikan urutan pesanan.


Seksi 2):

Kasus khusus saya:

Saya mencoba semua langkah di atas dengan berbagai permutasi dan kombinasi dengan me-restart Visual Studio beberapa kali. Tapi, itu tidak membantu saya.

Jadi, saya memutuskan untuk menghilangkan kesalahan lain yang saya temui ('File Sumber Tidak Dapat Dibuka (' Kesalahan tidak ditentukan ')').

Saya menemukan posting blog: Kesalahan TFS – File Sumber Tidak Dapat Dibuka ('Kesalahan tidak ditentukan')

Saya mencoba langkah-langkah yang disebutkan dalam posting blog itu, dan saya menghilangkan kesalahan 'File Sumber Tidak Dapat Dibuka (' Kesalahan tidak ditentukan ')' dan mengejutkannya saya menghilangkan kesalahan lain ('file metadata tidak dapat ditemukan') sebagai baik.


Bagian (3):

Pesan moral dalam cerita:

Coba semua solusi seperti yang disebutkan dalam bagian (1) di atas (dan solusi lain) untuk menghilangkan kesalahan. Jika tidak ada yang berhasil, sesuai dengan blog yang disebutkan dalam bagian (2) di atas, hapus entri semua file sumber yang tidak lagi ada dalam kontrol sumber dan sistem file dari file .csproj Anda .

Vikram
sumber
4
Masalah saya adalah Build Order / Dependensi Proyek. Menghapus dan menambahkan kembali referensi dari proyek lain akan memperbaiki ini (saya pikir) tetapi Anda bisa melakukannya sendiri juga.
Nacht - Pasang kembali Monica
4
Saya menghadapi masalah ini dengan menurunkan .NET v4.5proyek ke .NET v.4.
guneysus
1
Menghapus "%" dari jalur dll yang direferensikan membantu saya
Boogier
1
Solusi di Bagian 2 bekerja untuk saya! Saya memiliki kesalahan lain dan ketika saya memperbaikinya orang lain secara ajaib menghilang.
Martin Johansson
1
Saya memiliki masalah yang sama dengan Boogier. Punya 20% dalam nama folder saya, bukan spasi dan dll sedang mencari ruang. Menghabiskan begitu banyak waktu untuk mencoba semua perbaikan lainnya, ketika yang sebenarnya adalah yang paling sederhana.
Lenny K
38

Dalam kasus saya itu disebabkan oleh ketidakcocokan versi .NET Framework.

Satu proyek adalah 3.5 dan proyek referensi lainnya 4.6.1.

Eric Schneider
sumber
2
Ini juga terjadi antara 4.5.2 Vs. 4.6
AzzamAziz
2
Memang, saya punya satu dari 4.6.1 dan sisanya adalah 4.5.2, terima kasih!
Mason
7
Ya, tampaknya setiap kali versi kerangka kerja berbeda, ini terjadi. Kesalahan besar Microsoft!
Eric Schneider
Ya! Saya mencoba menggunakan .Net 4.7.1 .dll saat proyek saya .Net 4.6.1. Peringatan disembunyikan oleh item lain, tetapi tidak ada kesalahan tentang itu. Kesalahan saya adalah herring merah
Esaith
29

Menutup dan membuka kembali Visual Studio 2013 berhasil untuk saya!

Roffers
sumber
Mendapat masalah ini setelah mengembalikan perubahan git ke file proyek. Memulai kembali VS2015 dan memecahkan masalah
Ludovic C
Ini harus ditandai sebagai jawaban yang diterima. Memeriksa / Menghapus centang kotak centang membutuhkan lebih banyak waktu.
Alex
1
Masih memiliki masalah dengan VS2019 ini dan memperbaikinya untuk saya, terima kasih
pcdev
20

Yah, tidak ada dalam jawaban sebelumnya yang berfungsi untuk saya, jadi saya berpikir mengapa saya mengklik dan berharap ketika sebagai pengembang kita harus benar-benar mencoba memahami apa yang sedang terjadi di sini.

Tampak jelas bagi saya bahwa referensi file data meta yang salah ini harus disimpan di suatu tempat.

Pencarian cepat file .csproj menunjukkan baris yang bersalah. Saya memiliki bagian bernama <itemGroup> yang sepertinya tergantung pada file lama yang salah.

<ItemGroup>
    <ProjectReference Include="..\..\..\MySiteOld\MySite.Entities\MySite.Entities.csproj">
        <Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project>
        <Name>Beeyp.Entities</Name>
    </ProjectReference>
...

Jadi perbaikan sederhana benar-benar:

  1. Cadangkan file .csproj Anda.
  2. Temukan jalur yang salah dalam file .csproj dan ganti nama dengan tepat.

Harap pastikan Anda melakukan backup .csproj lama Anda sebelum Anda biola .

Alex Stephens
sumber
38
tolong PASTIKAN ANDA MENGGUNAKAN KONTROL VERSI SEBELUM ANDA MELAKUKAN APA PUN
svick
14

Saya juga menemui masalah ini. Pertama, Anda harus secara manual membangun proyek DLL Anda, dengan klik kanan, Build. Maka akan berhasil.

BlueRaja - Danny Pflughoeft
sumber
14
Sementara perbaikan ini berhasil, itu sebenarnya tidak memperbaiki masalah dan dapat menyebabkan masalah yang lebih mendasar. Pertama-tama, jika Anda bekerja dengan kode dalam repositori, itu adalah bentuk yang buruk untuk meminta pengembang baru untuk melompat melalui lingkaran untuk mendapatkan kode ke titik di mana ia akan membangun. Kedua, untuk melihat perubahan dalam proyek yang direferensikan, Anda harus membangunnya kembali secara manual setiap waktu. Silakan lihat jawaban saya untuk perbaikan yang lebih kuat untuk masalah ini.
Matt_Bro
Dalam kasus saya, itu bahkan tidak membangun proyek secara individual, itu memberi saya kesalahan yang sama. Katakanlah nama proyek saya adalah "proj1", ketika saya membuatnya (secara manual seperti yang Anda katakan) itu memberi sayaMetadata file ...proj1.dll could not be found !
A-Sharabiani
14

Dalam kasus saya, direktori yang saya instal salah.

Jika jalur solusi Anda seperti "Proyek Saya% 2c Sangat Populer% 2c Unit Pengujian% 2c Perangkat Lunak dan Perangkat Keras.zip", itu tidak dapat menyelesaikan file metadata, mungkin kami harus mencegah beberapa kata yang tidak valid seperti% 2c.

Mengganti nama jalur menjadi nama normal telah menyelesaikan masalah saya.

masphei
sumber
1
Bisakah Anda menguraikan lebih banyak jawaban Anda dengan menambahkan sedikit deskripsi tentang solusi yang Anda berikan?
abarisone
Klon git saya menambahkan% ke jalur folder saya, menghapus ini menyelesaikan masalah.
Erik Bergstedt
@abarisone Saya menghapus string "% 2c" dari path, lalu berhasil
masphei
1
Itu masalah saya juga, ketika saya mengkloning proyek itu diberi nama menggunakan "% 20" bukan ruang yang sederhana. Terima kasih @abarisone, pendekatan Anda memecahkan masalah saya.
MA Cordeiro
Ketika saya mengkloning proyek saya dari TFS juga menambahkan% 20 karena beberapa alasan. Menghapus masalah untuk saya juga.
Selthien
13

Saya mendapat kesalahan yang sama "File metadata '.dll' tidak dapat ditemukan", dan saya mencoba beberapa hal yang dijelaskan di atas, tetapi alasan kesalahannya adalah karena saya mereferensikan file DLL pihak ketiga yang menargetkan versi .NET lebih tinggi bahwa target proyek saya. Versi NET. Jadi solusinya adalah mengubah kerangka target proyek saya.

Mladen Nikolov
sumber
Yah, saya akan menjawab hal yang sama, dalam kasus saya saya menambahkan penargetan proyek baru. Net 4.5.x dan itu mulai terjadi ketika, dari proyek itu saya menambahkan referensi ke proyek yang menggunakan .Net 4.6.
Juan
12

Visual Studio 2019 ini berfungsi untuk saya:

  1. Tutup Visual Studio
  2. Hapus yang disembunyikan .vs folder yang
  3. Buka kembali Visual Studio dan buat kembali solusi.
Andrew
sumber
Terima kasih banyak, ini berhasil juga untuk saya setelah melakukan satu lagi pembangunan yang gagal.
Iamsodarncool
Terima kasih, ini berhasil untukku.
iaacp
10

Bagi saya, itu mencoba menemukan DLL di jalur yang dulu berisi Proyek, tetapi kami memindahkannya ke direktori baru. Solusi memiliki jalur yang benar ke Proyek, tetapi Visual Studio entah bagaimana terus mencari di lokasi yang lama.

Solusi: Ganti nama setiap proyek yang bermasalah - cukup tambahkan karakter atau apa pun - lalu ganti namanya kembali ke nama aslinya.

Ini harus mengatur ulang beberapa jenis cache global di Visual Studio, karena ini menghapus masalah ini dan beberapa suka, sementara hal-hal seperti Bersihkan tidak.

Chris Moschini
sumber
10

Saya menambahkan proyek baru ke solusi saya dan mulai mendapatkan ini.

Alasannya? Proyek yang saya bawa menargetkan kerangka .NET yang berbeda (4.6 dan dua lainnya adalah 4.5.2).

Todd Vance
sumber
1
Saya tidak tahu mengapa sekarang tetapi saya menjalankan proyek saya selama setahun seperti itu. sub proyek saya 4.6.1 dan proyek utama 4.5.2. itu bekerja tanpa masalah. tiba-tiba saya mendapatkan kesalahan ini tetapi saya tidak ingin downgrade sub proyek karena memiliki fitur yang ada di 4.6.1 saya tidak percaya ini masalahnya. Microsoft menjelaskan itu masih bisa berfungsi
batmaci
TLDR: Periksa kompilasi peringatan. Inilah yang terjadi pada saya tetapi dengan twist. proj berada di 4.5.2. Menambahkan proyek baru di 4.6. Paket nuget yang diinstal pada 4.6 proyek. Downgrade proyek ke 4.5.2. Nuget mengharapkan 4,6. Penurunan nuget terpecahkan.
w00ngy
9

Bagi saya itu terjadi ketika saya memasukkan proyek baru ke solusi.

Visual Studio secara otomatis memilih .NET framework 4.5.

Saya mengubah ke versi .NET 4.5.2 seperti perpustakaan lain, dan itu berhasil.

Andre Mesquita
sumber
8

Bagi saya langkah-langkah berikut berhasil:

  • Temukan proyek yang tidak sedang dibangun
  • Hapus / tambahkan referensi ke proyek dalam solusi.
Baglay Vyacheslav
sumber
Klik kanan pada "folder" referensi di explorer solusi, "hapus referensi yang tidak digunakan". Saya melakukan ini pada semua proyek saya dalam solusi ini, itu berhasil
Mathieu VIALES
8

Saya mencabut rambut saya dengan masalah ini juga, tetapi setelah mencoba jawaban sebelumnya satu-satunya hal yang berhasil bagi saya adalah membuka setiap proyek dalam solusi saya 1 per 1 dan membangunnya secara individual.

Kemudian saya menutup Visual Studio 2013, membuka kembali solusi saya dan itu dikompilasi dengan baik.

Ini aneh, karena jika saya mengklik setiap proyek di Solution Explorer saya dan mencoba membangunnya seperti itu, semuanya gagal. Saya harus membukanya sendiri dalam solusi mereka sendiri.

pencari
sumber
1
Ugh, ini. Begitu banyak hal yang Microsoft perlukan untuk memulai kembali agar berfungsi kembali.
Yatrix
8

Sepertinya jenis kesalahan yang terkait dengan fakta bahwa Visual Studio tidak memberikan informasi yang benar tentang kesalahan. Pengembang bahkan tidak mengerti alasan pembangunan yang gagal. Ini bisa menjadi kesalahan sintaks atau sesuatu yang lain. Secara umum, untuk menyelesaikan masalah seperti itu Anda harus menemukan akar masalah (misalnya, lihat build log).

Dalam kasus saya masalahnya sebenarnya adalah bahwa Error Listjendela tidak menunjukkan kesalahan. Tapi sebenarnya ada kesalahan sintaksis; Saya menemukan kesalahan ini di Outputjendela, dan setelah memperbaikinya, masalahnya terpecahkan.

burzhuy
sumber
Saya mengalami masalah ini juga. Tidak ada kesalahan dalam Daftar Kesalahan, tetapi hasil pembangunan yang gagal di DevOps menunjukkan kesalahan
amartin
7

Contoh masalah saya disebabkan oleh proyek umum yang memiliki nama kelas rangkap di dalamnya (dengan nama file yang berbeda). Sungguh aneh bahwa Visual Studio tidak dapat mendeteksi itu dan malah hanya meledakkan proses pembuatan.

Eric
sumber
Apakah ini komentar, jawaban, atau pertanyaan baru? Juga, perhatikan bahwa OP adalah dari 2009
gmo
8
Ini adalah solusi tambahan untuk masalah yang sama. Saya tahu OP sudah tua, tetapi berdasarkan beberapa posting terakhir, orang masih menemukan penyebab lain. Hanya mencoba menyelamatkan pria berikutnya dengan frustrasi karena tidak ada solusi lain yang bekerja untuk saya juga.
Eric
4
Saya tidak mengkritik respons siapa pun, hanya menawarkan solusi alternatif untuk gejala yang sama.
Eric
7

Saya mendapatkan masalah ini di Visual Studio 2012 dalam solusi yang memiliki banyak proyek. Membangun kembali setiap proyek dalam solusi secara manual dalam urutan yang sama dengan Pesanan Bangun Proyek (klik kanan dan bangun kembali di Solution Explorer) memperbaikinya untuk saya.

Akhirnya saya mendapatkan satu yang memberi saya kesalahan kompilasi. Saya memperbaiki kesalahan, dan solusi akan membangun dengan benar setelah itu.

dan-gph
sumber
Dalam kasus saya, kesalahan disembunyikan sampai saya membuka Visual Studio 2015 dalam mode Adminstrator. Baru kemudian itu menunjukkan kesalahan kompilasi. Setelah memperbaikinya, saya bisa melanjutkan.
SL Barth - Pasang kembali Monica
6

Dalam kasus saya masalahnya adalah bahwa saya secara manual menghapus file non-kompilasi yang ditandai sebagai "hilang". Setelah saya menghapus referensi ke file yang sekarang hilang dan dikompilasi ulang - semuanya baik-baik saja.

David Ford
sumber
6

Jika Anda memiliki ruang dalam nama solusi Anda, ini juga akan menyebabkan masalah. Menghapus spasi dari nama solusi Anda, jadi path yang tidak mengandung% 20 akan menyelesaikan ini.

Ajaco
sumber
kamu jenius!!
Itamar
Saya tidak melihat komentar Anda sebelum mencari tahu. Tapi ini masalah saya.
L Johnson
6

Dalam kasus saya, masalahnya disebabkan oleh kesalahan build sederhana,

kesalahan CS0067: Acara 'XYZ' tidak pernah digunakan

itu, untuk alasan apa pun, tidak muncul di jendela kesalahan.

Karena itu, sistem build Visual Studio tampaknya melewatkan kesalahan dan mencoba untuk membangun proyek yang bergantung, yang pada gilirannya gagal dengan pesan metadata yang mengganggu.

Rekomendasi ini - sebodoh kedengarannya-:

Pertama-tama lihat pada Output Window Anda !

Butuh setengah jam sebelum ide ini mengenai saya ...

Heinz Kessler
sumber
Saya pikir semua orang harus melihat jawaban ini. Lihat di jendela output build dan lihat apakah ada kesalahan atau peringatan di sana dan kemudian memperbaikinya. Masalah terpecahkan. Terima kasih Heinz Kessler atas jawaban Anda.
Kapten Amerika
5

Saya juga memiliki kesalahan yang sama. Itu bersembunyi seperti di jalur di bawah ini. Jalur yang saya sebut untuk file DLL adalah seperti "D: \ Assemblies Folder \ Assembly1.dll".

Tetapi jalur asli tempat majelis dimaksud adalah "D: \ Assemblies% 20Folder \ Assembly1.dll".

Karena variasi nama jalur ini, majelis tidak dapat diambil dari jalur aslinya dan karenanya melempar kesalahan "Metadata tidak ditemukan".

Solusinya ada di pertanyaan Stack Overflow Bagaimana cara mengganti semua spasi dengan% 20 di C #? .

Arun Prasad
sumber
5

Saya menghadapi masalah yang sama. Dalam kasus saya, saya merujuk ke proyek perpustakaan kelas dengan versi .Net lebih tinggi daripada proyek saya dan VS gagal membangun proyek dan mengangkat kesalahan yang sama yang Anda posting.

Saya cukup mengatur. Net versi proyek perpustakaan kelas saya (salah satu yang telah rusak membangun) identik dengan. Bersih versi proyek referensi dan masalah diselesaikan.

Code_Worm
sumber
1
Ini!!! Sementara jawaban di atas baik, ini adalah sesuatu yang saya benar-benar diabaikan. Terima kasih tuan yang baik.
Rhys Johns
@RhysJohns happy coding :)))
Code_Worm
4

Hanya dengan menunjukkan yang jelas-jelas jelas: jika Anda tidak mengaktifkan "Tampilkan jendela keluaran saat mulai dijalankan", pastikan Anda memperhatikan jika bangunan Anda gagal (kesalahan "build gagal" kecil di kiri bawah) !!!!

tulang T
sumber
Saya memiliki sesuatu yang serupa baru-baru ini - tiba-tiba, ratusan kesalahan cs0006 di log Kesalahan tetapi tidak ada yang lain (dan saya menyisirnya dengan sisir yang sangat baik). Akhirnya (!) Saya berpikir untuk melihat ke jendela Output, dan ada kesalahan kompiler yang dilaporkan, dan cukup yakin dalam kode kesalahan itu memiliki coretan merah di bawahnya. Saya tidak tahu mengapa kesalahan itu tidak dilaporkan di jendela Kesalahan. VS2017 Enterprise.
haughtonomous
4

Saya memiliki kesalahan ini ketika saya mencoba untuk menerbitkan aplikasi web. Ternyata salah satu properti kelas dibungkus

#if DEBUG
    public int SomeProperty { get; set; }
#endif

tetapi penggunaan properti tidak. Penerbitan dilakukan dalam konfigurasi Release tanpa DEBUGsimbol, jelas.

Dmitri Trofimov
sumber
4

Berdasarkan pesan kesalahan saya tidak percaya jalur file sedang terpotong. Tampaknya hanya salah. Jika saya membaca pesan dengan benar tampaknya mencari file DLL di ...

WORK = - \ Tools \ VersionManagementSystem \ BusinessLogicLayer \ bin \ Debug \ BusinessLogicLayer.dll

Ini bukan jalur yang valid. Apakah mungkin Anda memiliki definisi makro dalam proses pembuatan yang ditetapkan ke nilai yang tidak valid?

JaredPar
sumber
Aku tak tahu bagaimana karena saya belum berubah apa-apa dan tidak memiliki kebiasaan membangun peristiwa atau konfigurasi
Oliver
4

Saya mengalami masalah ini karena .nuget\NuGet.exetidak termasuk dalam repositori saya. Meskipun saya mengaktifkan DownloadNuGetExedi NuGet.targets, itu melaporkan kesalahan proxy ketika mencoba untuk mengunduhnya. Ini menyebabkan sisa proyek gagal.

wtjones
sumber
4

Kesalahan ini dapat ditampilkan jika Anda menggunakan majelis palsu. Menghapus pemalsuan mengarah pada keberhasilan membangun proyek.

FLCL
sumber
Apa itu "majelis palsu"? Bisakah Anda menguraikan? (Tanggapi dengan memperluas jawaban Anda.)
Peter Mortensen