Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 30883|Відповідь: 1

[Джерело] .NET/C# Посилання на вирішення конфліктів версій DLL

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

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

Деталі винятків: 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