Требования: Проект должен ссылаться на многие сторонние SDK, и некоторые из них будут ссылаться на распространённые DLL-файлы (например, :Newtonsoft.Json.dll), что приведёт к тому, что весь проект будет ссылаться на разные версии одной и той же DLL, и проект выдаст только один файл с одинаковыми скомпилированными результатами.
Простые проблемы зависимостей версий DLL приведены ниже:
Ссылка:Вход по гиперссылке виден.
Если ссылка на DLL относится не только к другой версии, но и к publicKeyToken, как это следует решать? В случае Newtonsoft.Json.dll проект ссылается на файл с другой версией и publicKeyToken.
- Newtonsoft.Json.dll,version: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 в эту папку и изменить конфигурацию следующим образом:
(Конец)
|