如何将 machine.config 的 "oracle.manageddataaccess.client" 部分替换为 web.config 部分

How to replace the "oracle.manageddataaccess.client" section of machine.config with web.config section

早上好,我的应用程序使用 oracle.manageddataaccess.client,当通过 Nuget 安装 oracle.managedDataAccess 时,在我的 web.config 中创建了一个引用,如下所示:

<configSections> 
  <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, 
  Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>

对于 运行 的申请,我需要 machine.config 文件中的相同部分。 (Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config),machine.config文件如下:

问题是,每当我需要 运行 另一个具有不同版本的 oracle 的应用程序时,就会出现重复键错误,因为在 web.config 中配置了一个版本,而在 machine.config,该部分配置了另一个版本。总是需要手动编辑文件machine.config,根据web.config.

的版本设置版本

我试图解决问题的方法是:

我发现在不需要放置手动版本的其他机器上,machine.config 使用了 oracle.dataaccess.client 部分,所以我研究了由于使用了非托管 odp.net驱动程序,为此更改我的部分也没有用。

是否有任何方法可以覆盖此部分?或使用 oracle.dataaccess.client 解决此问题。

我通过在 web.config 中使用以下内容使其工作:

<configSections>
      <section name="new.oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>

稍后使用新的配置部分:

  <new.oracle.manageddataaccess.client>
    <version number="*">
           <!--Oracle configuration settings-->
    </version>
  </new.oracle.manageddataaccess.client>