错误:无法加载 DLL '.dll':找不到指定的模块。(来自 HRESULT 的例外:0x8007007E) - 此错误是什么?



情况:

我正在尝试运行CharLS JPEG-LS压缩算法实现

网站上有关于可以在哪里下载C#VS 2010解决方案的源代码。在该解决方案中,有2个C#类库项目、1个非托管VC++项目和1个C#控制台应用程序。控制台应用程序调用其中一个类库"using CharLS;",并且该特定库引用非托管VC++项目。控制台应用程序在调试模式下运行良好。

问题:

但是,当我为"Release"编译控制台应用程序并运行.exe(可执行文件)时,当在过程中调用特定函数时,它会给我以下错误:

错误:无法加载DLL"CharLS.DLL":指定的模块可以找不到。(HRESULT:0x8007007E的异常)

我还试图创建另一个项目并从那里引用类库,但我遇到了同样的错误。

我试过在网上阅读其他解决方案,但它们对我没有帮助。

此错误的一些原因可能是:

  1. 您为"DllImport"属性的"EntryPoint"属性提供的名称与您从本机组件导出的函数不匹配。

  2. 另一个原因可能是缺少dll本身/或其任何依赖项(使用依赖项助行器并检查)

  3. 第三个原因可能是调试/发布版本不匹配。

在以发布模式运行之前,您是否(重新)构建了项目?看起来你没有,发布的输出中不包含这样的库。无论如何都要检查一下。

确保它已经在服务器上注册。此外,您是否已将应用程序池(假设IIS7+)设置为允许32位进程?

如果您有dll,只需手动将其添加到构建输出文件夹(bin)中。

最新更新