首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在C#中加载DLL

无法在C#中加载DLL
EN

Stack Overflow用户
提问于 2012-02-16 15:05:40
回答 5查看 32.7K关注 0票数 6

如何在c#项目中加载dll

误差

无法加载DLL 'Reader.dll':找不到指定的模块。(HRESULT例外: 0x8007007E)

代码示例

代码语言:javascript
运行
AI代码解释
复制
[DllImport("Reader.dll")]
 public static extern byte OpenReader(ref IntPtr hCom, byte LinkType, string com_port);

图片:

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-17 14:13:37

虽然reader.dll无法加载GPSVC.dll和IESHIMS.DLL。

代码语言:javascript
运行
AI代码解释
复制
corflags application.exe /32bit+

版本: v4.0.30319

CLR头: 2.5

PE : PE32

CorFlags :3

伊洛尼:1

32位: 1

签署:0

票数 2
EN

Stack Overflow用户

发布于 2012-02-16 15:24:52

如果问题确实“找不到”,那么使用Sysinternals的ProcMon将显示系统在哪里查找DLL。

然而,这种异常通常意味着“我找到了DLL,但无法加载它”,这可能是因为缺少DLL的依赖项,而不是DLL本身,或者因为DLL与试图加载DLL的应用程序不兼容。如果您的C#应用程序设置为“任意CPU”,并且您位于64位计算机上,则加载非托管32位DLL时会出现这种错误。

隔离问题的一种方法是创建一个简单的C/C++项目来加载DLL。(如果您无法访问导入库,则使用LoadLibrary动态加载它。)然后使用Dependency来分析测试工具,它将报告缺少DLL的名称。

票数 13
EN

Stack Overflow用户

发布于 2012-02-16 15:10:34

如果它是一个简单的C DLL,它只需要在与.exe相同的文件夹中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9320495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文