Docusign.Esign.dll 继承 RestSharp 依赖的依赖问题 [英] Dependency Issues with Docusign.Esign.dll's inherit RestSharp Dependency

查看:33
本文介绍了Docusign.Esign.dll 继承 RestSharp 依赖的依赖问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用包含多个项目的 Visual Studio 解决方案.项目的一个领域需要 RestSharp 106.10.1,而在另一个项目(它需要与之对话)中,我们拥有将 RestSharp 106.3.1 作为内部依赖项的 Docuign.ESign.dll.当尝试使用 Docusing dll 运行项目时,我们得到 的运行时错误

无法加载文件或程序集‘RestSharp,版本=106.3.1.0,文化=中性,PublicKeyToken=598062e77f915f75’.系统找不到指定的文件."

dll 似乎有自己的 rest Sharp 版本,但它与我们在解决方案中其他地方使用的 rest Sharp 版本冲突.我试过下载 docusign dll 源代码,更新依赖项,并创建一个新的 dll,但这破坏了 docusign 代码,我试过在项目的 app.config 中进行绑定重定向,以便它使用它的较低版本,但我没有成功.我真的可以在这里使用一些帮助,任何帮助将不胜感激.

解决方案

我遇到了与您的帖子大致相同的问题.我的情况稍微简单一些,但我希望这会有所帮助.

是的,DocuSign.eSign.dll 似乎真的要使用 RestSharp 106.3.1 版本.这可能是 DocuSign DLL 中的一个错误,所以我希望他们的开发人员之一正在监视 docusignapi 标记并可以解决这个问题.

我的项目只是一个 ASP.NET C# WinForms Web 应用程序,它允许您填写一些信息,然后向 DocuSign 发送请求以发送文档以供签名.我所有以 DocuSign 为中心的代码都在一个单独的程序集中,所以我应该只处理 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 文件并将 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 使用了扩展范围,以确保涵盖了 DocuSign 想要使用的 RestSharp 版本.newVersion 使用106.0.0.0"而不是106.10.1",因为这是 Visual Studio 中报告的版本号.如果您在项目引用中选择 RestSharp 并查看其属性,您将看到 106.0.0.0,而不是 106.10.1.在构建日志中(选择诊断时),您会看到这是Fusion 名称",即使文件本身的属性会显示 106.10.1.无论如何,这对我有用.

如果我能回答任何问题或提供更多信息,请告诉我.

谢谢,兰迪

I am working with a solution in visual studio that has multiple projects in it. One area of the project requires RestSharp 106.10.1, and in another project (that it needs to talk to) we have the Docuign.ESign.dll that has RestSharp 106.3.1 as an interior dependency. When trying to run the project with the Docusing dll, we get a run time error of

"Could not load file or assembly 'RestSharp, Version=106.3.1.0, Culture=neutral, PublicKeyToken=598062e77f915f75'. The system cannot find the file specified."

The dll seemingly has its own version of rest sharp, but it conflicts with the version of rest sharp we are using elsewhere in the solution. I've tried downloading the docusign dll source code, updating the dependencies, and creating a new dll, but that breaks the docusign code, and I've tried doing a binding redirect in an app.config in the project so that it uses its lower version, but I've had no success with that. I could really use some help here, any help would be appreciated.

解决方案

I ran into the same issue about the same time as your post. My situation is a little simpler, but I hope this helps.

Yes, it seems the DocuSign.eSign.dll really wants to use RestSharp version 106.3.1. This may be a bug in the DocuSign DLL, so I hope one of their developers is monitoring the docusignapi tag and can address this.

My project is just a ASP.NET C# WinForms web app which lets you fill in some info and then send a request to DocuSign to send out documents for signatures. All my DocuSign centric code is in a separate assembly, so I should only be dealing with 1 copy of DocuSign.eSign.dll and RestSharp.dll.

When I first created the project, I used the latest versions of DocuSign.eSign (4.3.0). It brought in the dependency of RestSharp 106.3.1, which I promptly updated to 106.10.1 (probably a mistake). Compiling I get a warning about not finding RestSharp 106.3.1 and at runtime, the app crashes when RestSharp 106.3.1 can't be found. I spent most of the day today working with a DocuSign code sample updating various parts (.NET version, DocuSign.eSign, RestSharp) step-by-step to try to get it to use the latest package versions.

This is what works: Update your solution to use the latest versions of DocuSign and RestSharp. When you compile I expect you'll see the conflicting version warning. Then for every project that is showing this warning, modify the app.config file and change the dependentAssembly section for RestSharp to:

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

I used an extended range for the oldVersion to make sure the RestSharp version DocuSign wants to use is covered. The newVersion uses "106.0.0.0" instead of "106.10.1" because that's the version number being reported in Visual Studio. If you select RestSharp in the project references and look at its properties, you'll see 106.0.0.0, not 106.10.1. In the build log (when Diagnostics is selected), you'll see this is it's "Fusion name" even though the properties of the file itself will say 106.10.1. Anyway, that's what is working for me.

If I can answer any questions or provide additional information, please let me know.

thanks, randy

这篇关于Docusign.Esign.dll 继承 RestSharp 依赖的依赖问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆