Проблемы с зависимостью от Docusign.Esign.dll наследуют RestSharp Dependency - PullRequest
1 голос
/ 18 апреля 2020

Я работаю с решением в visual studio, в котором есть несколько проектов. В одной области проекта требуется RestSharp 106.10.1, а в другом проекте (с которым нужно поговорить) у нас есть Docuign.ESign.dll, в которой RestSharp 106.3.1 является внутренней зависимостью. При попытке запустить проект с помощью Docusing dll мы получаем ошибку времени выполнения

"Не удалось загрузить файл или сборку" RestSharp, Version = 106.3.1.0, Culture = нейтральный, PublicKeyToken = 598062e77f915f75 '. Система не может найти указанный файл. "

У dll, похоже, есть собственная версия rest sharp, но она конфликтует с версией rest sharp, которую мы используем в другом месте решения. Я попытался загрузить исходный код docusign dll, обновить зависимости и создать новую dll, но это нарушает код docusign, и я попытался выполнить перенаправление привязки в app.config в проекте, чтобы он использовал его более низкая версия, но я не имел успеха с этим. Я мог бы действительно использовать некоторую помощь здесь, любая помощь будет оценена.

1 Ответ

1 голос
/ 19 апреля 2020

Я столкнулся с той же проблемой примерно в то же время, что и ваш пост. Моя ситуация немного проще, но я надеюсь, что это поможет.

Да, похоже, DocuSign.eSign.dll действительно хочет использовать RestSharp версии 106.3.1. Это может быть ошибкой в ​​DocuSign DLL, поэтому я надеюсь, что один из их разработчиков отслеживает тег docusignapi и может решить эту проблему.

Мой проект - просто ASP. NET C# Сеть WinForms приложение, которое позволяет вам заполнить некоторую информацию, а затем отправить запрос в DocuSign, чтобы отправить документы для подписей. Весь мой код DocuSign centri c находится в отдельной сборке, поэтому я должен иметь дело только с 1 копией DocuSign.eSign.dll и RestSharp.dll.

Когда я впервые создал проект, я использовал последние версии DocuSign.eSign (4.3.0). Он ввел зависимость RestSharp 106.3.1, которую я быстро обновил до 106.10.1 (возможно, ошибка). Компиляция Я получаю предупреждение о том, что RestSharp 106.3.1 не найден, и во время выполнения приложение вылетает, когда RestSharp 106.3.1 не может быть найден. Сегодня я провел большую часть дня, работая с образцом кода DocuSign, шаг за шагом обновляя различные части (. NET версия, DocuSign.eSign, RestSharp), чтобы попытаться использовать последние версии пакета.

Вот что работает: обновите свое решение, чтобы использовать последние версии DocuSign и RestSharp. Я ожидаю, что при компиляции вы увидите предупреждение о конфликтующей версии. Затем для каждого проекта, в котором отображается это предупреждение, измените файл app.config и измените раздел depenAssembly для RestSharp на:

  <dependentAssembly>
    <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-110.0.0.0" newVersion="106.0.0.0" />
  </dependentAssembly>

Я использовал расширенный диапазон для oldVersion, чтобы убедиться, что версия RestSharp DocuSign хочет использовать покрыто. NewVersion использует «106.0.0.0» вместо «106.10.1», потому что это номер версии, сообщаемый в Visual Studio. Если вы выберете RestSharp в ссылках проекта и посмотрите на его свойства, вы увидите 106.0.0.0, а не 106.10.1. В журнале сборки (когда выбрано «Диагностика») вы увидите, что это «имя Fusion», хотя в свойствах самого файла будет указано 106.10.1. В любом случае, это то, что работает для меня.

Если я могу ответить на любые вопросы или предоставить дополнительную информацию, пожалуйста, дайте мне знать.

спасибо, Рэнди

...