Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 5752|Răspunde: 3

[Sursă] [Operațiune practică] Conflicte între referirea la diferite versiuni ale DLL-urilor care se bazează pe redirecționări

[Copiază linkul]
Postat pe 2022-10-22 10:03:33 | | | |
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:

.net/c# Referință DLL Rezolvarea conflictelor de versiuni
https://www.itsvse.com/thread-4818-1-1.html
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)





Precedent:[Luptă propriu-zisă]. NET/C# implementează backup-uri de baze de date MySQL bazate pe MySqlBackup.NET
Următor:【Luptă practică】Build Thunder descărcare și servicii DLNA pentru Home Media Docker
Postat pe 2022-10-22 12:02:36 |
Învață să înveți
Postat la 2022-10-24 10:59:38 |
Acest truc funcționează, mă deranjează Newtonsoft.Json.dll dintre 4.0 și 6.0
Postat la 2022-11-12 13:08:42 |
Învață să înveți
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com