webapi: разные версии пакета nuget в одном решении

У меня есть проект webapi (проект A), который зависит от другого проекта библиотеки классов (проект B). Проект B имеет пакет nuget, который зависит от пакета System.IdentityModel.Tokens.Jwt с версией больше 5.2 (у меня версия 5.2.2). Но проект А использует нюгет Microsoft.Owin.Security.Jwt а также System.IdentityModel.Tokens.Jwt, Теперь ребята, которые поддерживают эти нюгеты, кое-что испортили и внесли некоторые изменения в эти пакеты. Если я использую Microsoft.Owin.Security.Jwt версия 4.0 (последняя) и System.IdentityModel.Tokens.Jwt версия 5.2.2, я получаю сообщение об ошибке

Не удалось загрузить тип "Microsoft.Owin.Security.Jwt.IIssuerSecurityTokenProvider" из сборки "Microsoft.Owin.Security.Jwt, версия =4.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35".

Это потому, что они переименовали некоторые классы (вы можете увидеть обсуждение в этой теме). Так что в проекте А я использовал нюгет Microsoft.Owin.Security.Jwt с версией 3.1.0, но это несовместимо с пакетом System.IdentityModel.Tokens.Jwt версия 5.2.2, потому что я получаю ошибку:

Не удалось загрузить тип 'System.IdentityModel.Tokens.TokenValidationParameters' из сборки 'System.IdentityModel.Tokens.Jwt, версия =5.2.2.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35'.

Так что я понизил версию Nuget System.IdentityModel.Tokens.Jwt до версии 4.0.4, и теперь мой проект запускается, но когда я вызываю контроллер, который использует вспомогательный класс из проекта B, который имеет отношение к некоторым классам сервера идентификации, мой API сталкивается с ошибкой:

Не удалось загрузить файл или сборку 'System.IdentityModel.Tokens.Jwt, версия =5.2.2.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Так есть ли способ заставить мое решение работать с двумя версиями nuget System.IdentityModel.Tokens.Jwt (4.0.4 и 5.2.2)

0 ответов

Другие вопросы по тегам