Ошибка RestSharp при общей зависимости и разных publicKeyTokens
использование API из Docusign
, Twilio
и Auth0
. Всего 3 RestSharp.dll
как зависимость.
если я использую RestSharp.dll
в комплекте с Docusign
пакет, Docusign
и Auth0
и Twillio
выдают ошибки:
не удалось загрузить файл или сборку " RestSharp, Version=104.1.0.0, Культура = нейтральная, PublicKeyToken=null'
если я использую нормальный RestSharp.dll
(Install-Package RestSharp),Twilio
и Auth0
работает нормально, но я получаю ошибка при использовании Docusign:
не удалось загрузить файл или сборку " RestSharp, Version=100.0.0.0, Культура = нейтральная, PublicKeyToken=5xxxxxxxxxxxx'
добавление перенаправления привязки не решит проблему. Без привязки перенаправления, я получаю эту ошибку в журнале:
сравнение имени сборки привело к несоответствию: основная версия.
если я использую перенаправление привязки:
сравнение имени сборки привело к несоответствию: открытый ключ ЗНАК.
код перенаправления привязки:
<dependentAssembly>
<assemblyIdentity name="RestSharp" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-105.2.3.0" newVersion="105.2.3.0" />
</dependentAssembly>
1 ответов
временно решил проблему, переименовав RestSharp.dll, которая была включена в пакет Docusign для " RestSharpDocusign.dll " и скопировал это в мой проект.
Я изменил привязки сборки, чтобы при вызове версии 100.0.0.0 она загружала специальный "RestSharpDocusign".dll " с publicKeyToken Docusign хотел. Все остальное будет использовать стандартный RestSharp.dll с нулевым publicKeyToken.
<dependentAssembly>
<assemblyIdentity name="RestSharp" publicKeyToken="null" culture="neutral" />
<bindingRedirect oldVersion="100.0.0.1-105.2.3.0" newVersion="105.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
<codeBase version="100.0.0.0" href="ult/RestSharpDocusign.dll" />
</dependentAssembly>