Visual Studio 2012. ---> System.DllNotFoundException:无法加载DLL' OraOps12.dll':找不到指定的模块

时间:2016-09-06 12:16:07

标签: c# oracle visual-studio-2012 dll odp.net

我在Visual Studio 2012中导入了一个C#项目。它引用了Oracle.DataAccess。当我运行项目时,我得到一个例外。这是我从调试中得到的结果。

ex = {System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> 

System.DllNotFoundException:无法加载DLL' OraOps12.dll': 指定的模块无法找到。 (HRESU的例外......

我不知道它在哪里寻找这个DLL。我安装了ODT。进行引用的Oracle.DataAccess.dll文件位于:

E:\应用\客户\ serban.stoenescu \产品\ 12.1.0 \的Client_1 \ odp.net \ BIN \ 4。

OraOps12.dll文件位于:

E:\应用\客户\ serban.stoenescu \产品\ 12.1.0 \的Client_1 \ BIN

知道发生了什么事吗?我如何找到该程序正在寻找此DLL的位置?我知道是否可以找出是否存在嵌套异常?

谢谢, 谢尔班

2 个答案:

答案 0 :(得分:1)

也许您可以尝试使用Sysinternals Process Monitor,它可能会给您一些见解?

看起来您已经安装了ODP.NET,可能需要安装:Microsoft Visual C ++ 2010 Redistributable Package(x64)或(x86)。

Process Monitor showing missing MSVCR100.dll

如果你通过这个并在OracleConnection.Open()上看到NullReferenceException,那么你需要设置一个到你的客户端的路径(oraons.dll所在的地方,见 Connect to an Oracle database

答案 1 :(得分:0)

确保已安装Oracle客户端。 Oracle Dll有32位和64位版本。所以请确保在项目中使用了正确的文件版本。