簡體   English   中英

如何用 web.config 部分替換 machine.config 的“oracle.manageddataaccess.client”部分

[英]How to replace the “oracle.manageddataaccess.client” section of machine.config with web.config section

Good morning, my application uses oracle.manageddataaccess.client, when installing oracle.managedDataAccess via Nuget, a reference was created in my web.config as below:

<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文件如下:

配置 machine.config

問題是,每當我需要使用不同版本的 oracle 運行另一個應用程序時,重復鍵就會發生錯誤,因為在 web.config 中配置了一個版本,而在 machine.config 中,該部分配置了另一個版本。 始終需要手動編輯文件 machine.config 並根據 web.config 的版本設置版本。

我試圖解決這個問題的是:

  • 在 web.config 部分添加 allowOverride allowOverride="true" (無法識別的屬性)
  • 在 section 中添加<clear />元素(不成功)

我發現在不需要放置手動版本的其他機器上, 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM