[英]RestSharp error when shared as a dependency and different publicKeyTokens
使用來自Docusign
, Twilio
和Auth0
API。 所有3個都將RestSharp.dll
作為依賴項。
如果我使用RestSharp.dll
附帶Docusign
包Docusign
效果很好,但Auth0
和Twillio
給出錯誤:
無法加載文件或程序集'RestSharp,Version = 104.1.0.0,Culture = neutral,PublicKeyToken = null'
如果我使用正常的RestSharp.dll
(Install-Package RestSharp), Twilio
和Auth0
工作正常,但在使用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.