1

我在平台构建器中构建了一个新的 dll,并尝试在我的应用程序中使用这个 dll。当我在我的应用程序中使用此 dll 时出现错误:找不到 PInvoke DLL 'HardwareAbstractionLayer.dll'。

这个错误是什么意思,我该如何解决这个问题?

4

1 回答 1

2

这个错误的意思很简单:它根本无法在系统上找到所需的 DLL 来加载它。因此,请通过资源管理器检查您的文件,确保您的文件在设备上确实可用。

如果文件被烘焙到您的图像中并且确实位于您喜欢的所需位置(正确的文件夹?),您应该确保您的应用程序确实在正确的位置搜索 DLL。它是只查看自己的工作目录还是只查看 windows 文件夹?

为确保该文件可用于您的应用程序,请编写另一个不引用您的 DLL 的小型实用程序。相反,只需使用一些Directory.GetFiles()调用来确保您的应用程序也可以访问该文件。

如果所有这些都被检查,那么可能是为错误的平台编译了 DLL?确保将其设置为正确的 cpu 类型,并检查您的 DLL 本身是否有任何依赖关系,以及这些在目标上是否也可用。

于 2012-04-11T13:03:54.180 回答