如何在ac #project中加载一个dll
错误:无法加载DLL"Reader.dll":找不到指定的模块.(来自HRESULT的异常:0x8007007E)
代码示例:
__CODE__
图片:

Wil*_*ean 11
如果问题确实"无法找到",那么使用Sysinternals的ProcMon将显示系统在哪里寻找DLL.
但是,通常这些异常意味着"我找到了DLL,但我无法加载它",这可能是因为DLL的依赖性缺失而不是DLL本身,或者因为DLL与应用程序尝试不兼容加载它.如果您的C#应用程序设置为"任何CPU"并且您使用的是64位计算机,则会在加载非托管32位DLL时出现此类错误.
解决问题的一种方法是创建一个加载DLL的简单C/C++项目.(如果您无权访问导入库,则使用LoadLibrary动态加载它.)然后使用Dependency Walker分析测试工具,它将报告缺少的DLL的名称.
虽然reader.dll无法加载GPSVC.dll和IESHIMS.DLL。我设法通过在 application.exe 上运行 corflags 命令来使其工作,该应用程序现在标记为 32 位:
corflags application.exe /32bit+
Run Code Online (Sandbox Code Playgroud)
版本:v4.0.30319
CLR 标头:2.5
聚乙烯:PE32
相关标志:3
仅:1
32位:1
签名:0