我使用ODP.NET连接到oracle。我的测试服务器安装了两个版本的Oracle(v4和v2)。我有第三方应用程序连接到一个版本(v4),我的应用程序连接到另一个(v2)。
当我使用Visual Studio运行我的应用程序时,它运行正常,没有任何错误。但是,当我从IIS发布并运行时,它会抛出错误说
无法加载文件或程序集'Oracle.DataAccess,Version = 4.121.1.0, Culture = neutral,PublicKeyToken = 89b483f429c47342'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。 (HRESULT异常:0x80131040)
如果我将Oracle dll与版本4.1放在一起,它将开始显示不同的错误
无法加载文件或程序集“Oracle.DataAccess”或其中一个 依赖。尝试加载程序不正确 格式。
如何在不从机器上删除(卸载)oracle的情况下解决此问题?
注意:在当前方案中,无法从服务器中删除oracle版本。因此,两个版本都将保持安装状态。
答案 0 :(得分:1)
第一条错误消息告诉您没有安装正确版本的Oracle Data客户端。它正在寻找Oracle.DataAccess, Version=4.121.1.0
,但它并没有。
第二条错误消息告诉您它现在存在,但它尝试加载不同的体系结构(即:您在进程为64位时安装了32位或反过来)。
有几个修复: