Saya mengalami masalah "Tidak dapat memuat file atau perakitan atau salah satu dari dependensinya" yang lain.
Informasi tambahan: Tidak dapat memuat file atau rakitan 'Microsoft.Practices.Unity, Versi = 1.2.0.0, Culture = netral, PublicKeyToken = 31bf3856ad364e35' atau salah satu dari ketergantungannya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)
Saya tidak tahu apa yang menyebabkan ini atau bagaimana saya bisa men-debug untuk menemukan penyebabnya.
Saya telah melakukan pencarian di katalog solusi file .csproj saya, dan setiap tempat saya memiliki Persatuan saya miliki:
Referensi Termasuk = "Microsoft.Practices.Unity, Versi = 2.0.414.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL"
Tidak dapat menemukan referensi di mana pun yang bertentangan dengan 1.2.0.0 di salah satu proyek saya.
Ada ide bagaimana saya harus menyelesaikan masalah ini?
Saya juga akan menghargai tips tentang cara men-debug masalah seperti ini secara umum.
sumber
Unity
perpustakaan lama ?Jawaban:
Periksa apakah Anda mereferensikan sebuah majelis yang pada gilirannya merujuk pada versi lama unity. Sebagai contoh katakanlah Anda memiliki sebuah majelis yang disebut
ServiceLocator.dll
yang membutuhkan versi lama dari Unity assembly, sekarang ketika Anda mereferensikannya,ServiceLocator
Anda harus menyediakannya dengan Unity versi lama, dan itu yang menjadi masalah.Mungkin folder output di mana semua proyek membangun rakitan mereka, memiliki versi lama dari persatuan.
Anda dapat menggunakan FusLogVw untuk mencari tahu siapa yang memuat majelis lama, cukup tentukan jalur untuk log, dan jalankan solusi Anda, lalu periksa (di FusLogvw) baris pertama tempat perakitan Unity dimuat, klik dua kali dan lihat pemanggilannya perakitan, dan di sini Anda pergi.
sumber
Buka IIS Manager
Pilih Kelompok Aplikasi
lalu pilih kolam yang Anda gunakan
pergi ke pengaturan lanjutan (di sisi kanan)
Ubah bendera Aktifkan aplikasi 32-bit menjadi true.
sumber
Bagi saya, tidak ada solusi lain yang berfungsi (termasuk strategi bersih / bangun kembali). Saya menemukan solusi lain untuk menutup dan membuka kembali Visual Studio .
Saya kira ini memaksa Visual Studio memuat ulang solusi dan semua proyek, memeriksa kembali dependensi dalam proses.
sumber
Cobalah untuk membersihkan folder Debug dan Rilis dalam solusi Anda. Kemudian hapus dan tambahkan lagi kesatuan.
sumber
99% tidak dapat memuat file atau perakitan atau salah satu masalah dependensinya disebabkan oleh dependensi! Saya sarankan Anda mengikuti langkah-langkah ini:
Unduh Dependency Walker dari http://www.dependencywalker.com/
Luncurkan Dependency Walker dan buka dll (dalam kasus saya
NativeInterfaces.dll
)Anda dapat melihat satu atau lebih dll dengan kesalahan dalam merah membuka file Kesalahan ...
Ini berarti bahwa dll ini tidak ada di sistem Anda; dalam kasus saya nama dll adalah
MSVCR71.DLL
Anda dapat mengunduh missings dll dari google dan menyalin di jalur yang benar (dalam kasus saya
c:\windows\system32
)Pada titik ini, Anda harus mendaftarkan dll baru di GAC (Global Assembly Cache): buka terminal DOS dan tulis:
Mulai ulang aplikasi Anda!
sumber
API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
) tidak ditemukan dan membawa saya ke pertanyaan stackoverflow ini . Pada dasarnya perlu diingat bisa melihat false positive untuk beberapa file, tautan memberikan lebih detail.Microsoft Enterprise Library (direferensikan oleh .NetTiers) adalah masalah kami, yang pada gilirannya merujuk ke versi Unity yang lebih lama. Untuk menyelesaikan masalah kami menggunakan pengalihan yang mengikat berikut di web.config:
Atau, Anda mungkin ingin memperbarui Perpustakaan Perusahaan ke versi terbaru.
sumber
Mengikuti berhasil bagi saya.
sumber
Periksa file Web.config / App.config di proyek Anda. Lihat apakah nomor versi sudah benar.
Ini berhasil untuk saya.
sumber
Terlepas dari pertanyaan asli yang diposting lima tahun lalu, masalahnya masih ada dan agak mengganggu.
Solusi umum adalah analisis menyeluruh dari semua majelis yang dirujuk untuk memahami apa yang salah. Untuk membuat tugas ini lebih mudah, saya membuat alat (ekstensi Visual Studio) yang memungkinkan memilih perakitan .NET ( file
.dll
atau.exe
) untuk mendapatkan grafik dari semua rujukan yang direferensikan sambil menyoroti referensi yang bertentangan atau hilang.Alat ini tersedia di Galeri Visual Studio: https://marketplace.visualstudio.com/vsgallery/051172f3-4b30-4bbc-8da6-d55f70402734
Contoh output:
sumber
Di penjelajah solusi klik kanan pada proyek (bukan solusi), di tab build pilih Target platform: "Any CPU".
sumber
Jawaban Juntos benar tetapi Anda juga harus mempertimbangkan:
Untuk kesatuan v2.1.505.2 berbeda AssemblyVersion dan AssemblyFileVersion atribut yang ditentukan:
AssemblyFileVersion digunakan oleh NuGet tetapi CLR tidak peduli! CLR hanya akan menggunakan AssemblyVersion !
Jadi pengalihan Anda harus diterapkan ke versi yang ditentukan dalam atribut AssemblyVersion . Jadi 2.1.505.0 harus digunakan
Lihat juga: Apa perbedaan antara AssemblyVersion, AssemblyFileVersion, dan AssemblyInformationalVersion?
sumber
Saya juga mendapat kesalahan mengerikan ini dan menemukan solusi untuk ini ...
1), 2)
4), 5)
Semoga ini bisa membantu Anda juga.
sumber
sumber
Tidak yakin apakah ini bisa membantu.
Periksa apakah nama Assembly dan namespace Default di Properies dalam pertandingan Anda cocok. Ini menyelesaikan masalah saya yang menghasilkan kesalahan yang sama.
sumber
Dalam kasus saya di folder bin adalah dll referensi non disebut Unity.MVC3, saya mencoba mencari referensi apa pun di visual studio ini tanpa hasil, jadi solusi saya sangat mudah seperti menghapus dll itu dari folder bin.
sumber
Terima kasih Riddhi M. Mengikuti bekerja untuk saya.
Hapus File Sementara C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ File ASP.NET Sementara Tutup VSTS dan Buka Lagi Hapus dan Tambahkan DLL yang sama (Catatan: Anda menambahkan versi pencocokan yang sama)
sumber
Anda mengatakan Anda memiliki banyak proyek dalam solusi Anda ... yah, mulailah dengan satu di dekat bagian atas urutan pembuatan. Dapatkan yang itu untuk dibangun dan setelah Anda mengetahuinya, Anda dapat menerapkan perbaikan yang sama ke yang lainnya.
Jujur, Anda mungkin hanya perlu menyegarkan referensi Anda. Sepertinya Anda memperbarui versi Anda dan tidak memperbarui referensi, atau itu masalah jalur relatif jika Anda menjaga solusi Anda dalam kontrol sumber. Cukup verifikasi asumsi Anda, dan tambahkan kembali referensi.
sumber
Mengikuti berhasil bagi saya.
sumber
Masalah ini terjadi pada saya di mana salah satu pustaka dependen saya sedang mengkompilasi DLL dengan "Any CPU" ketika pustaka induk mengharapkan kompilasi "x64".
sumber
Saya memiliki masalah yang sama dengan saya menyelesaikannya melalui instruksi di bawah ini:
use the 64bit version of IIS ...
sumber
Anda harus menghapus file appname.dll Anda dari folder output Anda. Bersihkan folder Debug dan Rilis. Bangun kembali dan salin ke folder keluaran, dst. File dll.
sumber
I "Set as Startup Project" pustaka / proyek tidak diturunkan / tidak ditemukan.
Lalu mengerahkannya.
Berhasil!
Saya pikir itu tidak dapat menemukan. Dll karena pada awalnya tidak ada.
sumber
Kemungkinan penyebab lain: pastikan Anda tidak sengaja memberi kedua proyek nama perakitan yang sama di properti proyek.
sumber
Solusi saya untuk .NET 4.0, menggunakan Enterprise Library 5, adalah menambahkan referensi ke:
Microsoft.Practices.Unity.Interception.dll
sumber
Carilah referensi yang bertentangan. Bahkan setelah bersih dan dibangun kembali, referensi yang bertentangan masih akan menimbulkan masalah. Masalah saya adalah antara AForge dan Accord. Saya menghapus kedua referensi, dan menambahkan kembali referensi memilih kembali referensi tertentu (khusus untuk kasus saya, hanya sesuai).
sumber
Bagi saya membangun kembali game unity tanpa Unity C # Promark Tanda centang berfungsi.
sumber
Dalam kasus saya, tidak ada jawaban yang diusulkan yang berfungsi.
Inilah yang bekerja untuk saya:
Langkah kedua tampaknya penting karena tidak akan berhasil tanpanya.
sumber
Coba periksa apakah properti "Salin ke Lokal" untuk referensi disetel ke true dan versi spesifik disetel ke true. Ini relevan untuk aplikasi di Visual Studio.
sumber
Saya memiliki ini hari ini, dan dalam kasus saya masalahnya sangat aneh:
Catat karakter tersesat di akhir XML - entah bagaimana itu telah dipindahkan dari nomor versi ke akhir blok XML ini!
Diubah ke atas dan voila! Semuanya bekerja lagi.
sumber
jika Anda mendapatkan pesan kesalahan ini dengan membuka aplikasi pada Anda windows xp itu berarti Anda pertama kali menginstal aplikasi itu karena tidak berfungsi tanpa kerangka kerja 4 dan paket layanan 3. Anda menginstal keduanya dan lagi Anda mendapatkan kesalahan ini sehingga Anda harus menginstal ulang aplikasi itu lagi tetapi uninstall dulu dari menambah dan menghapus
jika ini tidak berhasil, jangan menyalahgunakan saya. saya juga seorang junior
sumber