情况:
我正在尝试运行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)
我还尝试创建另一个项目并从那里引用类库,但是我得到了同样的错误。
我已经尝试通过网络阅读其他解决方案,但他们没有帮助我。
答案 0 :(得分:2)
此错误的一些原因可能是:
您提供给" EntryPoint"的名称" DllImport"的财产属性与从本机组件导出的函数不匹配。
另一个原因可能是缺少dll本身/或其任何依赖项(使用依赖性walker和check)
第三个原因可能是调试/发布版本不匹配。
答案 1 :(得分:0)
在发布模式下运行之前,您是否(重新)构建了项目?看起来你没有和发布输出包含没有这样的lib。无论如何要检查它。
答案 2 :(得分:0)
确保它已在服务器上注册。您是否已将应用程序池(假设IIS7 +)设置为允许32位进程?