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:
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)
|