强大的命名组件和未签名的程序集

eri*_*cdc 5 c# .net-assembly twilio docusignapi

我有一种情况,Docusign API引用RestSharp签名程序集,公钥标记为598062e77f915f75.在同一个项目中,我使用的是Twilio API,它也引用了未签名的Restsharp程序集,显然是使用了一个空的公钥令牌.

我可以同时进行一个或另一个工作,但不能同时进行,因为我不能同时添加有符号和无符号的RestSharp引用,因为它们都具有相同的名称.

当我有一个对已签名的程序集的引用时,Docusign部分可以工作,但Twilio代码错误与此:

Could not load file or assembly 'RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

当我引用无符号程序集时,Docusign错误:

Could not load file or assembly 'RestSharp, Version=100.0.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?

我已经尝试过在我能想到的每种组合中绑定重定向:

  <dependentAssembly>
    <assemblyIdentity name="RestSharp" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-100.0.0.0" newVersion="105.2.3.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-100.0.0.0" newVersion="105.2.3.0" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

小智 -1

尝试将每个版本重定向到当前最新安装的版本:

  <dependentAssembly>
    <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-105.2.3.0" newVersion="105.2.3.0" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)