Cerințe: Proiectul trebuie să facă referință la multe SDK-uri terțe, iar unele dintre ele vor face referire la DLL-uri utilizate frecvent (cum ar fi :Newtonsoft.Json.dll), ceea ce va face ca întregul proiect să facă referire la versiuni diferite ale aceleiași DLL-uri, iar proiectul va genera doar un singur fișier cu aceleași rezultate compilate DLL.
Probleme simple de dependență de versiuni DLL pot fi menționate mai jos:
Referință:Autentificarea cu hyperlink este vizibilă.
Dacă DLL-ul referențiat nu este doar o versiune diferită, ci și publicKeyToken, cum ar trebui rezolvat? În cazul Newtonsoft.Json.dll, proiectul face referire la un fișier cu o versiune diferită și publicKeyToken.
- Newtonsoft.Json.dll,versiune:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,versiune:4.0.0.0,publicKeyToken:null
O simplă setare de redirecționare a referințelor nu rezolvă problema, configurația este următoarea:
Când apelați o metodă SDK terță care depinde de Newtonsoft.Json versiunea 4.0.0.0, veți primi următoarea eroare:
Nu s-a încărcat fișierul sau asamblarea "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" sau una dintre dependențele sale. Definiția manifestului de asamblare găsită nu corespunde cu referința de asamblare. (Excepție de la HRESULT:0x80131040) Soluție: Creează un folder JSON4 nou sub directorul bin, plasează versiunea Newtonsoft.Json.dll 4.0.0.0 sub acest folder și modifică configurația astfel:
(Sfârșit)
|