Es ist möglich, Ihre Anwendung zu zwingen, immer die gewünschte ODP- und ODAC-Version zu verwenden.
-
ODP-Version erzwingen:Verwenden Sie den von Robert veröffentlichten AssemblyBinding-Trick, um die Verwendung Ihrer Version von Oracle.DataAccess anstelle der GAC-Version zu erzwingen. Beispiel:
<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>
-
ODAC-Version erzwingen:Die ODP-DLL hängt von einer Reihe gemeinsam genutzter Oracle-Komponenten ab (Instant-Client, nicht verwaltete OCI-DLLs). Eine Möglichkeit, diese zu erhalten, ist über das ODAC-Paket. Sie können (auf App-Basis) definieren, welches ODAC-Paket Sie verwenden möchten. Traditionell wurde dies über die PATH-env-Variable gemacht, aber es kann jetzt über config:
definiert werden<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>
-
Als zusätzliche Vorsichtsmaßnahme können Sie jederzeit die GAC-Publisher-Richtlinien-DLL löschen, um sicherzustellen, dass nie etwas Ungewöhnliches passiert.