微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#程序集重定向

我正在使用Oracle.DataAccess,并且需要访问较旧的数据库,这意味着我需要使用此程序集的旧版本.新旧程序集都在GAC中,但我似乎无法让应用程序使用旧版本.这是我的.config文件

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"/>
        <bindingRedirect oldVersion="2.121.1.0" newVersion="2.112.3.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

什么都没有显示(没有任何东西,完全是空的),但我对这个工具并不太熟悉,所以也许我使用那个错误(也是).

有任何想法吗?

解决方法

您的配置文件看起来正确.但我会将旧版本改为此版本
0.0.0.0-2.999.9.0.因为那时您并不关心Oracle dll的实际版本是什么,而新版本是您想要使用的正确(旧)版本.

现在你确定这是正确的版本吗? Oracle.DataAccess的第2版非常古老.

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"/>
        <bindingRedirect oldVersion="0.0.0.0-2.999.9.0" newVersion="2.112.3.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

以下是来自MS的更多信息
https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/bindingredirect-element

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐