【问题标题】:Error while using ODAC112040Xcopy_64bit Oracle.DataAccess.dll with Asp.net 4.6 framework将 ODAC112040Xcopy_64bit Oracle.DataAccess.dll 与 Asp.net 4.6 框架一起使用时出错
【发布时间】:2017-10-16 04:20:22
【问题描述】:

我正在使用 64 位 Oracle.DataAccess.dll(64 位 ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64)。从

下载了这个包 ODAC112040Xcopy_64bit.zip

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

我想使用提供程序 dll 连接到 Oracle 11g 数据库。我能够成功安装它。但是,当我在我的 Asp.net 代码中使用 dll 时,出现以下错误。

异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“Oracle.DataAccess,版本=2.112.4.0,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。系统找不到指定的文件。

我的系统是 Windows 7 64 位机器。使用 Visual Studio 2015。甚至在程序执行到达 Oracle.DataAccess.dll 的函数调用之前,我在页面加载时就收到此错误。

看过很多博客回答说,64位dll在32位机器上使用或32位启用的IIS网站等。我的要求是,64位机器上只需要64位dll就可以执行强>.

请告诉我如何解决此问题。

【问题讨论】:

    标签: c# asp.net .net oracle provider


    【解决方案1】:

    错误消息说它正在寻找版本 = 2.112.4.0,它适用于 .net 2(和 3)。您的帖子标题提到了 .net 4.6,因此您应该在 Visual Studio 项目中定位 Version=4.112.4.0

    【讨论】:

    • 包“ODAC112040Xcopy_64bit.zip”将始终发布/注册版本为 2.112.4.0 的 Oracle.DataAccess.dll 组件。即使在手动注册 Version=4.112.4.0 之后,当我看到 GAC (c:\windows\assembly) 时,我也只看到 Version=2.112.4.0 存在。
    • .net CLR 2 和 4 的 GAC 不同,请参阅更多 here。但在这一点上,GAC 是不可能的。您的应用程序将搜索您指示它查找的任何版本,即 v2。在您的 Visual Studio 项目中,查找(= 浏览并添加参考)v4 dll。
    • 是的,我已经准备好了。再次检查了引用在我的解决方案中,我确实添加了 v4 版本。但是,从 IIS 和 IDE 浏览时仍然是应用程序,仍在寻找 v2 版本的 dll。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2023-04-11
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多