DLL存在时System.DLLNotFoundException

时间:2011-05-02 18:19:10

标签: c++ .net-3.5 dllnotfoundexception

当我们在程序中加载DLL时会出现以下错误,引发以下错误:

Unable to load DLL 'xxx.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)

这对我来说没有意义,因为DLL存在并且每次我们对代码进行更改时都会内置到我们的安装程序中。这个DLL几个月没有改变,这只是在大约一周前从我们新安装的副本开始发生的。有任何想法吗?有问题的项目是一个从.NET 3.5应用程序调用的非托管C ++项目。

2 个答案:

答案 0 :(得分:4)

可能找不到xxx.dll的一个依赖项。您可以使用DUMPBIN /dependents xxx.dll检查其依赖项,并使用Dependency Walker查看一些其他信息,以查看哪些可能在被测系统中不存在或不可用。

答案 1 :(得分:3)

错误并不是说DLL不存在;它说DLL没有你想要的程序调用。这很可能意味着在搜索路径的前面有另一个具有相同文件名的DLL,这是旧版本。

您是否将DLL安装到与调用应用程序相同的文件夹中?