【发布时间】:2014-10-02 21:58:46
【问题描述】:
我在我的 asp.net 项目中使用ODP.NET,以便应用程序与 Windows 2008 服务器(32 位)上的 oracle 11 g Express 通信。在开发机器上,我有 Windows 7(32 位)。我在开发机器上安装了 Windows 8(64 位)并尝试从 Visual Studio 2012 运行应用程序,它给出了错误“无法加载文件或程序集 'Oracle.DataAccess'”。经过一番搜索,我意识到我必须安装ODP.NET(64 位)才能在 64 位机器上使用它,所以我卸载了 32 位版本并安装了 64 位 ODP.NET。删除了对旧 Oracle.DataAccess 的引用,但仍然面临同样的问题。我错过了什么吗??
【问题讨论】:
-
您确定 ODP.NET 还支持 Windows 8 吗? oracle.com/technetwork/database/windows/tech-info/… 论文声明将从 11.2.0.4 开始。我能找到的最新版本是 11.2.0.3.20。您还可以检查您的应用程序是否以 x64 或 x32 进程运行。位数必须与您计划使用的 ODP.NET 驱动程序相同。
-
@Alex 谢谢.. 好点.. 你说得非常对,我应该检查一下 Windows 8 是否支持 ODP.NET
-
还可以将应用程序的目标平台从 AnyCPU 更改为 x86。这将使其始终以 32 位 x86 运行,因此它将加载 32 位客户端库等。
-
您尝试过 fusionlog 吗?参见例如 mhttp://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx ?