首先,我的機器上同時具有11和12個Oracle客戶端。但是當我嘗試使用11g版本的oracle.dataacess.dll。Oracle.DataAccess在卸載後仍然嘗試訪問oraops12.dll
我已經刪除了12c註冊表,並停止服務和machince.config相關。 但程序被拋出「無法加載oraops12.dll ..」。
oracle.dataacess找到dll配置的哪個路徑? 它爲什麼仍然嘗試加載oraops12而不是oraops11。
預先感謝您。
首先,我的機器上同時具有11和12個Oracle客戶端。但是當我嘗試使用11g版本的oracle.dataacess.dll。Oracle.DataAccess在卸載後仍然嘗試訪問oraops12.dll
我已經刪除了12c註冊表,並停止服務和machince.config相關。 但程序被拋出「無法加載oraops12.dll ..」。
oracle.dataacess找到dll配置的哪個路徑? 它爲什麼仍然嘗試加載oraops12而不是oraops11。
預先感謝您。
。在你的GAC策略文件正在使用「bindingRedirect」標籤
Policy.2.112.Oracle.DataAccess.config
做搜索文件(我使用代理洗劫),然後編輯它。
文件看起來像這樣
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/>
<bindingRedirect oldVersion="2.112.2.0-2.112.9999.9999" newVersion="2.121.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
出於某種原因的內容,如果你安裝Oracle 12,然後嘗試卸載它(即使使用的Gacutil.exe/U),綁定重定向留在。
在我的機器,它是在C:\ WINDOWS \裝配\ GAC_32 \ Policy.2.112.Oracle.DataAccess \ 2.121.2.0__89b483f429c47342 \ Policy.2.112.Oracle.DataAccess.config
它是不可訪問通過資源管理器,使用代理ransack來追蹤它,然後右鍵單擊它並運行在編輯器中輸入。
我剛剛遇到了這個問題。確保並刪除所有在c:\ windows \ assembly和c:\ windows \ Microsoft.net \ assembly中都以2.12開頭的策略文件夾和oracle.dataaccess文件夾。 2.11x表示oracle 11.x,2.12x表示Oracle 12.x.
我曾在Windows Server 2012中同樣的問題...
我解決了所有的事情只有intalling的C++ Redistributable Package 2010
您可能仍需要ODP.NET的12C版本在GAC隨着它的政策的DLL 。政策dll可能會導致ODP.NET 11嘗試加載ODP.NET 12. –
如何刪除該政策的dll? – LLF
使用Visual Studio命令提示符,發出gacutil/u http://msdn.microsoft.com/en-us/library/ex0ss12c%28v=vs.110%29.aspx –