程序中引用Oracle.DataAccess.dll 的版本问题
最近开发一个系统,
我的程序中引用了Oracle.DataAccess.dll 版本是2.111,
但是客户端安装的是Oracle 11g client ,ODP.NET里Oracle.DataAccess.dll是 2.112版本.
所以在OracleConnection时,出现了”DataAccess.Client.OracleConnection的类型初始值设定项引发异常 ”的错误。
然后我重新引用Oracle.DataAccess.dll 2.112 ,程序正常执行了。
问题是:
这是一个WindowsForm 的程序,那么如果我要发布的时候,就必须同时包括Oracle.DataAccess.dll 2.112。
如果客户的机器上的ODP.NET的 Oracle.DataAccess.dll版本,和我发布程序饮用的版本不同的话,
应该会产生上面的错误吧,有什么方法避免这个错误产生呢?
而且我要用到OracleBlukCopy,所以ADO.NET的System.Data.OracleClient不能使用
同事说尽量不要在程序中直接引用Oracle.DataAccess.dll,在`DBProviderFactory中实现,但是因为我程序中用了OracleBlukCopy,所以还必须得引用,
同事又说了,那就用Reflection来实现OracleBlukCopy功能,那对我来说得花很多时间研究Reflection。
谁有既简单又好用的方法阿???多谢了!