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: 30883|Răspunde: 1

[Sursă] .net/c# Referință DLL Rezolvarea conflictelor de versiuni

[Copiază linkul]
Postat pe 04.06.2018 16:02:54 | | | |
Nu s-a putut încărca fișierul sau asamblarea "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" 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)

Descriere: O excepție negestionată a avut loc în timpul executării cererii web curente. Verifică informațiile despre stack trace pentru detalii despre eroare și de unde a venit în codul tău care a cauzat eroarea.

Detalii excepție: System.IO.FileLoadException: Nu a încărcat fișierul sau asamblarea "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" 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)

Eroare sursă:

O excepție negestionată a fost generată în timpul execuției cererii web curente. Puteți folosi următoarele informații despre urmărirea stivei de excepții pentru a determina cauza anomaliei și unde a apărut.

Urmărirea încărcării de asamblare: Următoarele informații pot ajuta la determinarea motivului pentru care asamblarea "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" nu s-a încărcat.


Uneori, vedem eroarea de mai sus.

Cauza erorii

Proiectul A face referire la xxx.dll, Proiectul B face de asemenea referire la xxx.dll, iar Proiectul A se referă la Proiectul B, așa cum se vede în figura de mai jos:



Atât proiectul A, cât și proiectul B se referă la xxx.dll, dar proiectul A se referă la o versiune superioară a dll-ului, iar proiectul B la o versiune inferioară a dll

Soluție

<bindingRedirect>element, redirecționează o versiune de asamblare către alta.

vecheVersiune       

  • Proprietăți obligatorii
  • Specifică versiunea asamblării care a fost solicitată inițial. Numărul versiunii de asamblare este în formatul major.minor.build.revision. Fiecare parte a acestui număr de versiune are o valoare valabilă între 0 și 65535.
  • De asemenea, puteți specifica un interval de versiuni în următorul format:
  • n.n.n.n-n.n.n.n



nouVersiune

  • Proprietăți obligatorii.
  • Specifică versiunea asamblării de folosit în locul formatului de versiune cerut inițial: n.n.n.n
  • Această valoare poate specifica o versiune anterioară de oldVersion.



Link pentru documentație:https://docs.microsoft.com/zh-cn ... ingredirect-element

Exemple oficiale:



Așadar, soluția mea este să configurez asta în web.config:







Precedent:Sunt aici, vă rog să fiați mai atenți și să învățați unii de la alții
Următor:Soluție: Instalatorul folosit pentru instalarea Visual Studio este incomplet
 Proprietarul| Postat pe 22.10.2022 10:03:58 |
[Operațiune practică] Conflicte între referirea la diferite versiuni ale DLL-urilor care se bazează pe redirecționări
https://www.itsvse.com/thread-10376-1-1.html
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