Asp.net mvc 4 在Windows Server 2008上实现Oracle.Web.dll、Oracle.DataAccess.dll 64位失败,IIS 7.5 32位已禁用

Asp.net mvc 4 在Windows Server 2008上实现Oracle.Web.dll、Oracle.DataAccess.dll 64位失败,IIS 7.5 32位已禁用,asp.net-mvc-4,oracle11g,iis-7.5,32bit-64bit,windows-server-2008-r2,Asp.net Mvc 4,Oracle11g,Iis 7.5,32bit 64bit,Windows Server 2008 R2,在使用此环境成功测试我的MVC4程序之后 我试图用不允许32位应用的IIS将其发布到64位Windows 2008服务器,然后我开始陷入异常:无法找到引用的dll的依赖项 我尝试了互联网能给我的每一个建议,包括修改web.config以反映他们在部署到win 2008服务器时在提示符下使用全局缓存cmd的DLL 但什么都不管用。32位工作正常,但64位完全中断 首先,我不再在web.config上乱搞了。然后,我在Windows 2008服务器上重新安装了Oracle 11g 64。最后,我将

在使用此环境成功测试我的MVC4程序之后

我试图用不允许32位应用的IIS将其发布到64位Windows 2008服务器,然后我开始陷入异常:无法找到引用的dll的依赖项

我尝试了互联网能给我的每一个建议,包括修改web.config以反映他们在部署到win 2008服务器时在提示符下使用全局缓存cmd的DLL

但什么都不管用。32位工作正常,但64位完全中断


首先,我不再在web.config上乱搞了。然后,我在Windows 2008服务器上重新安装了Oracle 11g 64。最后,我将ODAC放在11gx64安装的顶部。成功的关键是找到正确的ODAC以匹配您系统上的Oracle版本

要验证是否在oracle 11 g上正确安装了正确的ODAC,您必须查看[asp.net]和[ODP.net]目录,以确保它们在每个bin中都有2.x和4个dir,并在全局缓存64中存在

解决ODAC安装问题后,我开始试验oracle客户端dll。我将Oracle.DataAccess.dll(64位)从bin[2.x]复制到我的应用程序的编译bin中,只是为了看到我的程序仍然崩溃,同时抱怨它找不到依赖的dll。然后我从bin[4]复制了Oracle.DataAccess.dll,然后一切正常

现在剩下的问题是为什么在寄存器缓存GAC_64中找不到4.112.4运行良好,但在GAC_64中注册的dll集破坏了程序?情不自禁地感到困惑

查看工作DLL的结果视图==>


如果您获得了我在本例中显示的所有屏幕,那么您的MVC4应用程序在Oracle 11 g 64位客户端上应该会飞得很高!祝你好运我会和你分享我的

我在2008 R2服务器上也遇到了同样的问题。其他在线建议都没有帮助。从Oracle网站抓取64位Oracle.DataAccess.dll文件似乎确实有所帮助。但是,当它现在似乎连接时,我收到一条错误消息?“oracle.dataaccess.client.oracleconnection”的类型初始值设定项引发了一个异常“出于某种原因,所有插入的.jpg都消失了,这对答案至关重要。我重新编辑了答案,把重要的图片放回原处。希望你能清楚地看到它们来回答你的问题。