4

当我们在程序中加载一个引发以下错误的 DLL 时,我收到以下错误:

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

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

4

2 回答 2

4

可能xxx.dll没有找到 's 依赖项之一。您可以使用 来检查它的依赖关系,并通过使用Dependency WalkerDUMPBIN /dependents xxx.dll来直观地了解一些附加信息,以查看哪些在被测系统上可能不存在或无法找到。

于 2011-05-02T18:22:44.663 回答
3

该错误并不是说 DLL 不存在。这是说 DLL 缺少您尝试进行的过程调用。这很可能意味着在搜索路径的前面有另一个具有相同文件名的 DLL,这是一个旧版本。

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

于 2011-05-02T18:26:23.107 回答