Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 30883|Ответ: 1

[Источник] .NET/C# Ссылка на разрешение конфликтов в версиях DLL

[Скопировать ссылку]
Опубликовано 04.06.2018 16:02:54 | | | |
Не удалось загрузить файл или ассемблер "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" или одну из его зависимостей. Определение манифеста найденной сборки не совпадает с ссылкой на сборку. (Исключение из HRESULT:0x80131040)

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Проверьте информацию stack trace на детали об ошибке и откуда она появилась в вашем коде, который её вызвал.

Детали исключений: System.IO.FileLoadException: Не удалось загрузить файл или сборку "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" или одну из его зависимостей. Определение манифеста найденной сборки не совпадает с ссылкой на сборку. (Исключение из HRESULT:0x80131040)

Ошибка источника:

Необработанное исключение было создано во время выполнения текущего веб-запроса. Вы можете использовать следующую информацию о трассе стека исключений, чтобы определить причину аномалии и место её возникновения.

Трассировка загрузки сборки: Следующая информация может помочь определить, почему сборка "Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" не загрузилась.


Иногда мы видим описанную выше ошибку.

Причина ошибки

Проект А ссылается на xxx.dll, Проект Б также ссылается на xxx.dll, а Проект А относится к Проекту Б, как показано на рисунке ниже:



И проект A, и проект B относятся к xxx.dll, проект A — к более высокой версии dll, а проект B — к более низкой версии dll.

Решение

<bindingRedirect>элемент, перенаправить одну версию сборки на другую.

oldVersion       

  • Обязательные свойства
  • Указывает изначально запрошенную версию сборки. Номер версии сборки выполнен в формате major.minor.build.revision. Каждая часть этого номера версии имеет действительное значение от 0 до 65535.
  • Вы также можете указать диапазон версий в следующем формате:
  • н.н.н.н-н.



newVersion

  • Обязательные свойства.
  • Указывает версию ассемблера для использования вместо первоначально запрошенного формата версии: n.n.n.n
  • Это значение может указывать версию, предшествующую oldVersion.



Ссылка на документацию:https://docs.microsoft.com/zh-cn ... ingredirect-element

Официальные примеры:



Итак, мой обходной путь — настроить всё так в web.config:







Предыдущий:Я здесь, пожалуйста, уделяйте больше внимания и учитесь друг у друга
Следующий:Решение: установщик, использованный для установки Visual Studio, неполный
 Хозяин| Опубликовано 22.10.2022 10:03:58 |
[Практическая эксплуатация] Конфликты между обращением к разным версиям DLL, которые используют перенаправления
https://www.itsvse.com/thread-10376-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com