Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 30883|Odpoveď: 1

[Zdroj] .NET/C# Referenčné riešenie konfliktov verzie DLL

[Kopírovať odkaz]
Zverejnené 4. 6. 2018 16:02:54 | | | |
Nepodarilo sa načítať súbor alebo assembler "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" ani jednu z jeho závislostí. Definícia nájdeného manifestu assembly nezodpovedá referencii na assembler. (Výnimka z HRESULT:0x80131040)

Popis: Počas vykonávania aktuálneho webového požiadavku nastala nespracovaná výnimka. Skontrolujte informácie o stack trace pre podrobnosti o chybe a o tom, odkiaľ v kóde vznikla.

Podrobnosti o výnimke: System.IO.FileLoadException: Nepodarilo sa načítať súbor alebo assembly "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" alebo jednu z jeho závislostí. Definícia nájdeného manifestu assembly nezodpovedá referencii na assembler. (Výnimka z HRESULT:0x80131040)

Chyba zdroja:

Nespracovaná výnimka bola generovaná počas vykonávania aktuálnej webovej požiadavky. Na určenie príčiny anomálie a miesta jej výskytu môžete použiť nasledujúce informácie o stope výnimiek.

Stopa zaťaženia zostavy: Nasledujúce informácie môžu pomôcť určiť, prečo sa zostava "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" nenačítala.


Niekedy vidíme vyššie uvedenú chybu.

Príčina chyby

Projekt A odkazuje xxx.dll, Projekt B tiež odkazuje na xxx.dll a Projekt A odkazuje na Projekt B, ako je znázornené na obrázku nižšie:



Projekt A aj projekt B odkazujú na xxx.dll, ale projekt A označuje vyššiu verziu dll a projekt B nižšiu verziu dll

Riešenie

<bindingRedirect>element, presmeruj jednu verziu assembleru na druhú.

oldVersion       

  • Požadované vlastnosti
  • Špecifikuje verziu zostavy, ktorá bola pôvodne požadovaná. Číslo verzie assembly je vo formáte major.minor.build.revision. Každá časť tohto čísla verzie má platnú hodnotu medzi 0 a 65535.
  • Môžete tiež špecifikovať rozsah verzií v nasledujúcom formáte:
  • n.n.n.n-n.n.n.n



newVersion

  • Požadované nehnuteľnosti.
  • Špecifikuje verziu assembleru, ktorá sa má použiť namiesto pôvodne požadovaného formátu verzie: n.n.n.n
  • Táto hodnota môže špecifikovať verziu pred oldVersion.



Odkaz na dokumentáciu:https://docs.microsoft.com/zh-cn ... ingredirect-element

Oficiálne príklady:



Takže mojím riešením je nastaviť to takto vo web.config:







Predchádzajúci:Som tu, prosím, venujte viac pozornosti a učte sa jeden od druhého
Budúci:Riešenie: Inštalátor použitý na inštaláciu Visual Studia je neúplný
 Prenajímateľ| Zverejnené 22. 10. 2022 10:03:58 |
[Praktická prevádzka] Konflikty medzi odkazovaním na rôzne verzie DLL, ktoré sa spoliehajú na presmerovania
https://www.itsvse.com/thread-10376-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com