System.DllNotFoundException:无法加载DLL' MvxSock.dll':找不到指定的模块。 (来自HRESULT的异常:0x8007007E)

时间:2015-12-10 18:35:51

标签: c# .net dll

我第一次尝试使用M3 API工具包并按照here

上的说明进行操作

我在我的项目中遇到以下异常。根据zip包的自述文件

,我有版本9.0.4.0

当我使用MvxSockN.dll时,我收到以下错误: -

  

类型' System.DllNotFoundException'未处理的异常发生了   在WindowsFormsApplication2.exe中

     

其他信息:无法加载DLL' MvxSock.dll':The   找不到指定的模块。 (HRESULT的例外情况:   0x8007007E)

同样的错误,但MvxSockx64.dll使用MvxSockN64.dll

这似乎是为.NET编写的包装类,它使用MvcSock.dll文件,因此依赖于它。但是我怎么能解决这个问题,因为我无法将其作为参考添加。当我尝试添加MvxSock.dll作为参考时,它会失败并显示以下消息:

  

对' ... \ MvxSock.dll'的引用无法添加。请确认   该文件是可访问的,并且它是一个有效的程序集或COM   成分

在MvxAPI文件夹中添加所有内容后,我得到以下内容:

  

未处理的类型' System.BadImageFormatException'   发生在WindowsFormsApplication2.exe

中      

其他信息:尝试加载带有的程序   格式不正确。 (HRESULT异常:0x8007000B)

除此之外,我还尝试了不同的.NET框架。 2.0,4.5.2。没有任何区别。

有关如何解决此问题的任何提示?

非常感谢,

2 个答案:

答案 0 :(得分:0)

我不理解投票结果,即使之前已经讨论过,但对此问题没有单一的解决办法。

就我而言,我通过

解决了这个问题
  • 最初我没有安装API Toolkit。我得到了已安装的文件夹,可以在我的机器上复制。所以我从exe安装程序安装了M3 API Toolkit。
  • 使我的WCF应用程序成为64位平台。
  • 将64位DLL添加到\ Bin和C:\ Windows \ SysWOW64文件夹中的所有5个dll。

这些是SysWow64文件夹中的DLL: enter image description here

希望这有助于将来。

答案 1 :(得分:0)

A.K,是的,您必须从其EXE安装程序安装M3 API Toolkit(而不是简单地从ZIP解压缩)才能在您的系统上注册DLL。否则,如果只是解压缩,则必须使用regsvr32命令手动注册DLL;请参阅解释它的M3 API Toolkit文档。此外,是的,您需要匹配目标架构的32/64位。 --Thibaud