Конфликтующие версии библиотеки Newtonsoft.json.
Действия по воспроизведению проблемы:
- Создать 2 .net c # проекта
- Проект 1 включает IdentityModel с некоторым методом
- Проект 2 включает Microsoft.AspNet.WebApi.OwinSelfHost с некоторым методом
- Упакуйте их, создайте пакет nuget и опубликуйте его локально (будет создано 2 пакета)
- Теперь создайте тестовый проект и установите в него оба пакета nuget.
- Вызовите метод из этих установленных пакетов. Вы получите ошибку конфликта относительно Newtonsoft.json
У меня есть два пользовательских плагина, разработанных поверх Kafka и REST. Для полной реализации плагина я использую сторонние библиотеки как часть зависимости. Зависимость внутренне использует пакет Newtonsoft.Json с их конкретной версией.
использование пакета для разработки плагина kafka
использование пакета для разработки плагина REST
.net не должен отображать ошибку
System.Reflection.TargetInvocationException: исключение было
брошенный целью вызова. ---->
System.IO.FileLoadException: не удалось загрузить файл или сборку
'Newtonsoft.Json, версия = 6.0.0.0, культура = нейтральная,
PublicKeyToken = 30ad4fe6b2a6aeed 'или одна из его зависимостей.
определение манифеста расположенной сборки не соответствует сборке
ссылка. (Исключение из HRESULT: 0x80131040)
как сторонняя библиотека должна ссылаться на свой пакет в соответствии с их версией. Для меня, если я перейду на
% USERPROFILE% \ .nuget пакеты
местоположение. Я вижу график версий для newtonsoft.json, и сторонние библиотеки должны использовать их во время выполнения. Версии 6.0.4 и 11.0.2 должны загружаться во время выполнения.