豫秦草草
2018-06-15 02:35
采纳率: 100%
浏览 2.7k

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

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 豫秦草草 2018-10-10 12:46
    已采纳

    Depedency Walker

    打赏 评论
  • threenewbee 2018-06-15 02:37

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

    打赏 评论
  • aylxr 2018-06-16 09:50

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

    打赏 评论
  • cnmaxu 2018-06-25 13:02

    我个人分析有两个原因:

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

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

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

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

    打赏 评论

相关推荐 更多相似问题