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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...