在禁用 IIS 7.5 32 位的 Windows Server 2008 上实施 Oracle.Web.dll、Oracle.DataAccess.dll 64 位失败

Implementing Oracle.Web.dll, Oracle.DataAccess.dll 64-bit failed on Windows Server 2008 with IIS 7.5 32-bit disabled

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

我试图将它发布到 64 位 Windows 2008 服务器,IIS 不允许 32 位应用程序,然后我开始遇到异常:找不到引用的 dll 的依赖项!

我尝试了互联网可以给我的所有建议,包括修改 web.config 以在提示符下使用全局缓存命令在部署到服务器 win 2008 上反映他们的 dll!

但没有任何效果。 32 位可用,但 64 位完全崩溃!

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

http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

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

解决ODAC 安装问题后,我开始尝试使用oracle 客户端dll。我将 Oracle.DataAccess.dll(64 位)从 bin [2.x] 复制到我的应用程序的已编译 bin 只是为了观察我的程序仍然崩溃,同样的抱怨是它找不到相关的 DLL。然后我从 bin [4] 复制了 Oracle.DataAccess.dll,然后一切正常!!

现在剩下的问题是为什么 4.112.4 not found in register cache GAC_64 运行良好,但在 GAC_64 中注册的 dll 集破坏了程序?忍不住不糊涂

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

如果您获得了我在这种情况下显示的所有这些屏幕,您的 MVC4 应用程序应该与 Oracle 11g 64 位客户端一起飞得很高!祝你好运!我会和你分享我的!