【发布时间】:2012-10-05 15:26:42
【问题描述】:
情况:
我正在尝试运行CharLS JPEG-LS Compression algorithm implementation
站点中有关于在哪里可以下载 C# VS 2010 解决方案的源代码。在解决方案中有 2 个 C# 类库项目、1 个非托管 VC++ 项目和 1 个 C# 控制台应用程序。控制台应用程序调用类库之一,“使用 CharLS;”,并且该特定库引用非托管 VC++ 项目。控制台应用程序在调试模式下完美运行。
问题:
但是当我为“Release”编译控制台应用程序并运行 .exe(可执行文件)时,当在此过程中调用特定函数时,它给了我这个错误:
错误:无法加载 DLL 'CharLS.dll':指定的模块可以 找不到。 (HRESULT 异常:0x8007007E)
我也尝试创建另一个项目并从那里引用类库,但我得到了同样的错误。
我已尝试通过网络阅读其他解决方案,但它们没有帮助我。
【问题讨论】:
-
找不到 CharLS.dll 依赖项之一 - 可能是因为更改了当前目录。在 Dependency walker dependencywalker.com中学习 Dll 依赖项
-
你检查过你的开发机器的路径上是否存在
CharLS.dll这个文件吗?如果是,则将其与发布软件一起部署(也在路径上)。或者,它是一个注册文件(regsvr32)吗?如果是这样,部署它并注册它。 -
您从未提到“并且我确保将 DLL 复制到 bin\Debug 目录”。所以先从那里开始。 SysInternals 的 ProcMon 实用程序可以显示可能缺少的其他 DLL。
标签: c# .net reference error-handling