C#程序调用Dll库的问题,在我的电脑上可以运行,在别人电脑上就不行?

错误提示: 试图加载格式不正确的程序。(异常来自HRESULT: 0x8007000B)
图片说明

可能原因:我的Dll库在生成时有依赖一个lib库文件,libeay32.lib,位于SysWOW64文件夹下。
请教大神,该如何解决呢?

Depedency Walker

你的dll是32bit,而你的系统是54bit吧。你必须强制你的程序集编译为32bit
https://blog.csdn.net/bodybo/article/details/7728164

你引用了只针对 x86或者 x64的dll, 需要把你的项目设置成和dll一样的格式
在项目属性,生成里面,有个 Any 改成 x86 或者 x64

我个人分析有两个原因:

1、你没有将该 DLL 所依赖的其他 DLL 一起发布到目标机器上,最简单的办法就是把所有 DLL 与应用程序放到同一个目录下试试看。
2、如果目标机器是 64 bit 而你的机器是 32 bit 也有可能会出这个问题。

由于你给定的信息量不足以继续回答你的问题也只能写到这里了。

DLL 也分两种,一种是原生 Win32 DLL 可以脱离 .net framework 环境运行的,

还有一种是需要 framework 环境了,这也可能是另外一个原因。