Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 30883|Svar: 1

[Källa] .net/c# referens till DLL-version konfliktlösning

[Kopiera länk]
Publicerad på 2018-06-04 16:02:54 | | | |
Misslyckades med att ladda filen eller assemblern "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" eller någon av dess beroenden. Definitionen av found assembly manifest stämmer inte överens med monteringsreferensen. (Undantag från HRESULT:0x80131040)

Beskrivning: Ett ohanterat undantag inträffade under exekveringen av den aktuella webbförfrågan. Kontrollera stackspårningsinformationen för detaljer om felet och var det kom ifrån i din kod som orsakade felet.

Undantagsdetaljer: System.IO.FileLoadException: Misslyckades med att ladda fil eller assembly "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" eller någon av dess beroenden. Definitionen av found assembly manifest stämmer inte överens med monteringsreferensen. (Undantag från HRESULT:0x80131040)

Källafel:

Ett ohanterat undantag genererades under exekveringen av den aktuella webbförfrågan. Du kan använda följande undantagsstackspårinformation för att fastställa orsaken till avvikelsen och var den inträffade.

Assembly Load Trace: Följande information kan hjälpa till att avgöra varför assemblyn "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" inte laddades.


Ibland ser vi ovanstående fel.

Felorsak

Projekt A refererar till xxx.dll, Projekt B refererar också till xxx.dll, och Projekt A refererar till Projekt B, som visas i figuren nedan:



Både projekt A och projekt B avser xxx.dll, men projekt A avser en högre version av dll:n, och projekt B avser en lägre version av dll:n

Lösning

<bindingRedirect>element, omdirigera en assemblerversion till en annan.

gammal version       

  • Nödvändiga egenskaper
  • Specificerar den version av sammansättningen som ursprungligen begärdes. Assemblerversionens nummer är i formatet major.minor.build.revision. Varje del av detta versionsnummer har ett giltigt värde mellan 0 och 65535.
  • Du kan också ange ett versionsintervall i följande format:
  • n.n.n.n-n.n.n.n



newVersion

  • Nödvändiga fastigheter.
  • Specificerar vilken version av assembleren som ska användas istället för det ursprungliga versionsformatet: n.n.n.n
  • Detta värde kan specificera en version före oldVersion.



Dokumentationslänk:https://docs.microsoft.com/zh-cn ... ingredirect-element

Officiella exempel:



Så, min lösning är att ställa in det så här i web.config:







Föregående:Jag är här, snälla var mer uppmärksamma och lär av varandra
Nästa:Lösning: Installationsprogrammet som används för att installera Visual Studio är ofullständigt
 Hyresvärd| Publicerad på 2022-10-22 10:03:58 |
[Praktisk funktion] Konflikter mellan att hänvisa till olika versioner av DLL:er som förlitar sig på omdirigeringar
https://www.itsvse.com/thread-10376-1-1.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com