Es posible obligar a su aplicación a usar siempre la versión ODP y ODAC que desee.
-
Forzar la versión de ODP:use el truco de ensamblado publicado por Robert para forzar el uso de su versión de Oracle.DataAccess en lugar de la versión de GAC. Por ejemplo:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Oracle.DataAccess" culture="neutral" publicKeyToken="89b483f429c47342"/> <codeBase version="4.112.3.0" href="FILE://Oracle.DataAccess.dll"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
-
Forzar la versión de ODAC:la DLL de ODP depende de un conjunto de componentes de Oracle compartidos (cliente instantáneo, dll de OCI no administrados). Una forma de obtenerlos es a través del paquete ODAC. Puede definir (por aplicación) qué paquete ODAC desea utilizar. Tradicionalmente, esto se hacía a través de la variable PATH env, pero ahora se puede definir a través de config:
<configuration> <configSections> <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <oracle.dataaccess.client> <settings> <add name="DllPath" value="C:\somefolder\ODAC_11.2.0.3.0_32bit\bin" /> </settings> </oracle.dataaccess.client> </configuration>
-
Como precaución adicional, siempre puede eliminar la DLL de la política del editor de GAC, para asegurarse de que nunca ocurra ningún problema.