繁体   English   中英

作为依赖项和不同的publicKeyTokens共享时出现RestSharp错误

[英]RestSharp error when shared as a dependency and different publicKeyTokens

使用来自DocusignTwilioAuth0 API。 所有3个都将RestSharp.dll作为依赖项。

如果我使用RestSharp.dll附带DocusignDocusign效果很好,但Auth0Twillio给出错误:

无法加载文件或程序集'RestSharp,Version = 104.1.0.0,Culture = neutral,PublicKeyToken = null'

如果我使用正常的RestSharp.dll (Install-Package RestSharp), TwilioAuth0工作正常,但在使用Docusign时出现错误:

无法加载文件或程序集'RestSharp,Version = 100.0.0.0,Culture = neutral,PublicKeyToken = 5xxxxxxxxxxxx'

添加绑定重定向并不能解决问题。 没有绑定重定向,我在日志中收到此错误:

比较程序集名称导致不匹配:MAJOR VERSION。

如果我使用绑定重定向:

比较程序集名称导致不匹配:PUBLIC KEY TOKEN。

绑定重定向代码:

<dependentAssembly>
    <assemblyIdentity name="RestSharp" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-105.2.3.0" newVersion="105.2.3.0" />
 </dependentAssembly>

通过将Docusign程序包中包含的RestSharp.dll重命名为“RestSharpDocusign.dll”并将其复制到我的项目中,暂时解决了该问题。

我修改了程序集绑定,以便在调用版本100.0.0.0时,它将使用publicKeyToken Docusign加载特殊的“RestSharpDocusign.dll”。 其他任何东西都会使用带有null publicKeyToken的标准RestSharp.dll。

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM