错误:无法加载DLL“.dll”:找不到指定的模块。 (来自HRESULT的异常:0x8007007E) - 这是什么错误?

时间:2012-10-15 15:49:47

标签: c# .net reference error-handling

情况:

我正在尝试运行CharLS JPEG-LS Compression algorithm implementation

网站上有关于您可以下载C#VS 2010解决方案的源代码。在解决方案中,有2个C#类库项目,1个非托管VC ++项目和1个C#控制台应用程序。控制台App调用其中一个类库,“使用CharLS;”,该特定库引用非托管VC ++项目。控制台应用程序在调试模式下完美运行。

问题:

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

  

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

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

我已经尝试通过网络阅读其他解决方案,但他们没有帮助我。

3 个答案:

答案 0 :(得分:2)

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

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

  2. 另一个原因可能是缺少dll本身/或其任何依赖项(使用依赖性walker和check)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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