c# - RestSharp error when shared as a dependency and different publicKeyTokens -


using apis docusign, twilio , auth0. 3 have restsharp.dll dependency.

if use restsharp.dll included docusign package, docusign works auth0 , twillio give errors:

could not load file or assembly 'restsharp, version=104.1.0.0, culture=neutral, publickeytoken=null'

if use normal restsharp.dll (install-package restsharp), twilio , auth0 work fine error when using docusign:

could not load file or assembly 'restsharp, version=100.0.0.0, culture=neutral, publickeytoken=5xxxxxxxxxxxx'

adding binding redirects not solve issue. without binding redirects, error in log:

comparing assembly name resulted in mismatch: major version.

if use binding redirect:

comparing assembly name resulted in mismatch: public key token.

binding redirect code:

<dependentassembly>     <assemblyidentity name="restsharp" culture="neutral" />     <bindingredirect oldversion="0.0.0.0-105.2.3.0" newversion="105.2.3.0" />  </dependentassembly> 

temporarily solved issue renaming restsharp.dll included docusign package "restsharpdocusign.dll" , copied project.

i modified assembly bindings when version 100.0.0.0 called load special "restsharpdocusign.dll" publickeytoken docusign wanted. else utilize standard restsharp.dll null 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> 

Comments