我有一个应用程序在 .exe 文件所在的目录下使用本地版本的 ODAC 11。我们希望我们的应用程序使用本地 ODAC 11,而不管用户在她的机器上安装了什么。
Oracle.DataAccess.dll 与 .exe 位于同一目录中。
当客户端机器没有安装 Oracle 客户端时它工作正常,但是在安装了 Oracle Database 10.2.0.something 的机器上启动它时出现错误:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
[Stack Trace]
The provider is not compatible with the version of Oracle client
OracleException
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
我猜这与运行时绑定策略有关,但在 Google 上搜索“Oracle/ODAC/ODP.NET 运行时绑定策略”并没有发现任何有用的信息。
有谁知道如何解决这个问题?
如果不是这个特定问题,有人可以向我指出如何做我想做的事情的概述:确保我的应用程序无论如何都使用 ODAC 11?