Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 30883|Antwoord: 1

[Bron] .net/c# referentie DLL-versie, conflictoplossing

[Link kopiëren]
Geplaatst op 04-06-2018 16:02:54 | | | |
Het bestand of de assembly "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" of een van de afhankelijkheden is niet gelukt om te laden. De definitie van het gevonden assemblagemanifest komt niet overeen met de assemblagereferentie. (Uitzondering op HRESULT:0x80131040)

Beschrijving: Er trad een niet-behandelde uitzondering op tijdens de uitvoering van het huidige webverzoek. Controleer de stacktrace-informatie voor details over de fout en waar deze vandaan kwam in je code die de fout veroorzaakte.

Uitzonderingsdetails: System.IO.FileLoadException: Bestand of assembly "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" of een van de afhankelijkheden niet kon laden. De definitie van het gevonden assemblagemanifest komt niet overeen met de assemblagereferentie. (Uitzondering op HRESULT:0x80131040)

Bronfout:

Er werd een untreated exception gegenereerd tijdens de uitvoering van het huidige webverzoek. Je kunt de volgende informatie over de uitzonderingsstack gebruiken om de oorzaak van de anomalie en waar deze is opgetreden te bepalen.

Assembly Load Trace: De volgende informatie kan helpen bepalen waarom de assembly "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" niet is geladen.


Soms zien we bovenstaande fout.

Foutoorzaak

Project A verwijst naar xxx.dll, Project B verwijst ook naar xxx.dll, en Project A verwijst naar Project B, zoals weergegeven in de onderstaande figuur:



Zowel project A als project B verwijzen naar xxx.dll, maar project A verwijst naar een hogere versie van de dll, en project B naar een lagere versie van de dll

Oplossing

<bindingRedirect>element omleiden, de ene assemblyversie naar de andere omleiden.

oude Versie       

  • Vereiste eigenschappen
  • Specificeert de versie van de assemblee die oorspronkelijk werd gevraagd. Het assemblyversienummer is in het formaat major.minor.build.revision. Elk deel van dit versienummer heeft een geldige waarde tussen 0 en 65535.
  • Je kunt ook een versiebereik specificeren in het volgende formaat:
  • n.n.n.n-n.n.n.n



newVersion

  • Vereiste eigendommen.
  • Specificeert welke versie van de assembly gebruikt moet worden in plaats van het oorspronkelijk gevraagde versieformaat: n.n.n.n
  • Deze waarde kan een versie specificeren vóór oldVersion.



Documentatielink:https://docs.microsoft.com/zh-cn ... ingredirect-element

Officiële voorbeelden:



Dus mijn oplossing is om het zo in te stellen in web.config:







Vorig:Ik ben hier, let alsjeblieft beter op en leer van elkaar
Volgend:Oplossing: De installer die is gebruikt om Visual Studio te installeren is onvolledig
 Huisbaas| Geplaatst op 22-10-2022 10:03:58 |
[Praktische Werking] Conflicten tussen het verwijzen naar verschillende versies van DLL's die afhankelijk zijn van redirects
https://www.itsvse.com/thread-10376-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com