如何在c#项目中加载dll
error:
无法加载 DLL“Reader.dll”:无法加载指定的模块
成立。 (HRESULT 异常:0x8007007E)
代码示例:
[DllImport("Reader.dll")]
public static extern byte OpenReader(ref IntPtr hCom, byte LinkType, string com_port);
image:
如果问题确实是“找不到”,那么使用 Sysinternals 的 ProcMon 将显示系统在哪里寻找 DLL。
但是,此类异常通常意味着“我找到了 DLL,但无法加载它”,这可能是因为缺少 DLL 的依赖项而不是 DLL 本身,或者是因为 DLL 与尝试加载的应用程序不兼容。加载它。如果您的 C# 应用程序设置为“任何 CPU”并且您使用的是 64 位计算机,则在加载非托管 32 位 DLL 时会出现此类错误。
隔离问题的一种方法是创建一个加载 DLL 的简单 C/C++ 项目。 (如果您无权访问导入库,请使用 LoadLibrary 动态加载它。)然后使用 Dependency Walker 来分析测试工具,它将报告丢失的 DLL 的名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)