Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 30883|Odpowiedź: 1

[Źródło] .net/c# odniesienie do wersji DLL – rozwiązywanie konfliktów

[Skopiuj link]
Opublikowano 04.06.2018 16:02:54 | | | |
Nie udało się załadować pliku lub asemblera "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" ani jednej z jego zależności. Definicja znalezionego manifestu asemplarza nie odpowiada referencji do asemblera. (Wyjątek od HRESULT:0x80131040)

Opis: Podczas wykonywania bieżącego żądania webowego wystąpił nieobsłużony wyjątek. Sprawdź informacje o śledzeniu stosu, aby uzyskać szczegóły dotyczące błędu i jego źródła w kodzie, które go spowodowały.

Szczegóły wyjątków: System.IO.FileLoadException: Nie udało się załadować pliku lub asemblera "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" lub jednej z jego zależności. Definicja znalezionego manifestu asemplarza nie odpowiada referencji do asemblera. (Wyjątek od HRESULT:0x80131040)

Błąd źródła:

Podczas wykonywania bieżącego żądania webowego wygenerowano nieobsługiwany wyjątek. Możesz użyć następujących informacji o śledzeniu stosu wyjątków, aby ustalić przyczynę anomalii i miejsce jej wystąpienia.

Śledzenie obciążenia asemblera: Poniższe informacje mogą pomóc ustalić, dlaczego asembler "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" nie został załadowany.


Czasami widzimy powyższy błąd.

Przyczyna błędu

Projekt A odnosi się do xxx.dll, Projekt B również odnosi się do xxx.dll, a Projekt A do Projektu B, jak pokazano na poniższym rysunku:



Zarówno projekt A, jak i projekt B odnoszą się do xxx.dll, ale projekt A odnosi się do wyższej wersji dll, a projekt B do niższej wersji dll

Rozwiązanie

<bindingRedirect>element, przekieruj jedną wersję asemblera do innej.

oldVersion       

  • Wymagane właściwości
  • Określa wersję asembleru, która została pierwotnie zamówiona. Numer wersji asemblera ma format major.minor.build.revision. Każda część tego numeru wersji ma prawidłową wartość od 0 do 65535.
  • Możesz także określić zakres wersji w następującym formacie:
  • n.n.n.n-n.n.n.n



newVersion

  • Wymagane nieruchomości.
  • Określa wersję asemblera, której ma się używać zamiast formatu wersji, o który pierwotnie zamówiono: n.n.n.n
  • Ta wartość może wskazać wersję sprzed oldVersion.



Link do dokumentacji:https://docs.microsoft.com/zh-cn ... ingredirect-element

Oficjalne przykłady:



Dlatego moim obejściem jest skonfigurowanie tego w web.config:







Poprzedni:Jestem tutaj, proszę, zwracajcie większą uwagę i uczcie się od siebie nawzajem
Następny:Rozwiązanie: Instalator użyty do instalacji Visual Studio jest niekompletny
 Ziemianin| Opublikowano 22.10.2022 10:03:58 |
[Praktyczna Operacja] Konflikty między odniesieniem do różnych wersji DLL opierających się na przekierowaniach
https://www.itsvse.com/thread-10376-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com