2

情况:

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

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

问题:

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

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

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

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

4

3 回答 3

2

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

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

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

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

于 2012-12-13T10:38:48.413 回答
0

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

于 2012-10-15T16:00:51.643 回答
0

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

于 2012-10-15T16:03:14.543 回答