当我们在程序中加载DLL时会出现以下错误,引发以下错误:
Unable to load DLL 'xxx.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)
这对我来说没有意义,因为DLL存在并且每次我们对代码进行更改时都会内置到我们的安装程序中。这个DLL几个月没有改变,这只是在大约一周前从我们新安装的副本开始发生的。有任何想法吗?有问题的项目是一个从.NET 3.5应用程序调用的非托管C ++项目。
答案 0 :(得分:4)
可能找不到xxx.dll
的一个依赖项。您可以使用DUMPBIN /dependents xxx.dll
检查其依赖项,并使用Dependency Walker查看一些其他信息,以查看哪些可能在被测系统中不存在或不可用。
答案 1 :(得分:3)
错误并不是说DLL不存在;它说DLL没有你想要的程序调用。这很可能意味着在搜索路径的前面有另一个具有相同文件名的DLL,这是旧版本。
您是否将DLL安装到与调用应用程序相同的文件夹中?