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

Вид: 5752|Відповідь: 3

[Джерело] [Практична робота] Конфлікти між посиланням на різні версії DLL, які покладаються на перенаправлення

[Копіювати посилання]
Опубліковано 2022-10-22 10:03:33 | | | |
Вимоги: Проєкт повинен посилатися на багато сторонніх SDK, і деякі з них посилаються на поширені DLL (наприклад, :Newtonsoft.Json.dll), що призведе до того, що весь проєкт посилається на різні версії однієї й тієї ж DLL, і проєкт виведе лише один файл з однаковими результатами, скомпільованими DLL.

Прості проблеми залежності версій DLL можна переглянути нижче:

.NET/C# Посилання на вирішення конфліктів версій DLL
https://www.itsvse.com/thread-4818-1-1.html
Посилання:Вхід за гіперпосиланням видно.

Якщо посиланий DLL стосується не лише іншої версії, а й publicKeyToken, як це слід вирішити? У випадку Newtonsoft.Json.dll проєкт посилається на файл з іншою версією та publicKeyToken.



- Newtonsoft.Json.dll, версія:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null

Просте налаштування перенаправлення посилання не вирішує проблему, конфігурація виглядає так:

Коли ви викликаєте сторонній SDK-метод, що залежить від Newtonsoft.Json версії 4.0.0.0, ви отримаєте таку помилку:

Не вдалося завантажити файл або асемблер "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" або одну з його залежностей. Визначення маніфеста знайденої асамблеї не відповідає посиланням на асемблю. (Виняток із HRESULT:0x80131040)
Рішення: створіть нову папку JSON4 у папці bin, помістіть версію Newtonsoft.Json.dll 4.0.0.0 під цю папку та змініть конфігурацію наступним чином:

(Кінець)





Попередній:[Справжній бій]. NET/C# реалізує резервне копіювання бази даних MySQL на основі MySqlBackup.NET
Наступний:【Практичний бойовий процес】Build Thunder Download та DLNA-сервіси для домашнього медіа Docker
Опубліковано 2022-10-22 12:02:36 |
Вчитися вчитися
Опубліковано 2022-10-24 10:59:38 |
Цей трюк працює, мене дратує Newtonsoft.Json.dll версій 4.0 і 6.0
Опубліковано 2022-11-12 13:08:42 |
Вчитися вчитися
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com