Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 5752|Jawab: 3

[Sumber] [Operasi Praktis] Konflik antara merujuk ke versi DLL yang berbeda yang mengandalkan pengalihan

[Salin tautan]
Dipaparkan pada 2022-10-22 10:03:33 | | | |
Persyaratan: Proyek perlu mereferensikan banyak SDK pihak ketiga, dan beberapa di antaranya akan mereferensikan beberapa DLL yang umum digunakan (seperti :Newtonsoft.Json.dll), yang akan menyebabkan seluruh proyek mereferensikan versi DLL yang berbeda dari DLL yang sama, dan proyek hanya akan menghasilkan satu file dengan hasil kompilasi DLL yang sama.

Masalah dependensi versi DLL sederhana dapat direferensikan di bawah ini:

.net/c# referensi resolusi konflik versi DLL
https://www.itsvse.com/thread-4818-1-1.html
Referensi:Login hyperlink terlihat.

Jika DLL yang direferensikan tidak hanya dari versi yang berbeda, tetapi juga dari publicKeyToken, bagaimana cara menyelesaikannya? Dalam kasus Newtonsoft.Json.dll, proyek mereferensikan file dengan versi dan publicKeyToken yang berbeda.



- Newtonsoft.Json.dll,versi:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,versi:4.0.0.0,publicKeyToken:null

Pengaturan pengalihan referensi sederhana tidak menyelesaikan masalah, konfigurasinya adalah sebagai berikut:

Saat Anda memanggil metode SDK pihak ketiga yang bergantung pada Newtonsoft.Json versi 4.0.0.0, Anda akan mendapatkan kesalahan berikut:

Gagal memuat file atau rakitan "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" atau salah satu dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan referensi rakitan. (Pengecualian dari HRESULT:0x80131040)
Solusi: Buat folder JSON4 baru di bawah direktori bin, tempatkan versi Newtonsoft.Json.dll 4.0.0.0 di bawah folder ini, dan ubah konfigurasi sebagai berikut:

(Akhir)





Mantan:[Pertempuran aktual]. NET/C# mengimplementasikan cadangan database MySQL berdasarkan MySqlBackup.NET
Depan:【Pertempuran Praktis】 Bangun Unduhan Guntur dan Layanan DLNA untuk Home Media Docker
Dipaparkan pada 2022-10-22 12:02:36 |
Belajar belajar
Dipaparkan pada 2022-10-24 10:59:38 |
Trik ini berhasil, saya terganggu oleh Newtonsoft.Json.dll 4.0 dan 6.0
Dipaparkan pada 2022-11-12 13:08:42 |
Belajar belajar
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com