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

C# System.DllNotFoundException:无法加载DLL';MvxSock.dll';:找不到指定的模块。(来自HRESULT的异常:0x8007007E),c#,.net,dll,C#,.net,Dll,我第一次尝试使用M3 API工具包,并按照 我在我的项目中遇到以下异常。根据zip包的自述文件,我有版本9.0.4.0 当我使用MvxSockN.dll时,我得到以下错误:- 发生类型为“System.DllNotFoundException”的未处理异常 在WindowsFormsApplication2.exe中 其他信息:无法加载DLL“MvxSock.DLL”:该 找不到指定的模块。(HRESULT的例外情况: 0x8007007E) 当我使用MvxSockN64.dll时,除了针对Mv

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

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

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

发生类型为“System.DllNotFoundException”的未处理异常 在WindowsFormsApplication2.exe中

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

当我使用
MvxSockN64.dll
时,除了针对
MvxSockx64.dll
之外,还有相同的错误

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

无法添加对“…\MvxSock.dll”的引用。请确保 该文件是可访问的,并且是有效的程序集或COM 组成部分

添加MvxAPI文件夹上的所有内容后,我得到以下结果:

“System.BadImageFormatException”类型的未处理异常 在WindowsFormsApplication2.exe中发生

附加信息:试图加载带有 格式不正确。(HRESULT的异常:0x8007000B)

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

关于如何解决这个问题有什么建议吗


非常感谢,

我不理解否决票,尽管之前已经讨论过,但这个问题没有单一的解决方案

就我而言,我通过

  • 最初我没有安装API工具包。我得到了要在我的机器上复制的已安装文件夹。因此,我从exe安装程序安装了M3 API工具包
  • 使我的WCF应用程序面向64位平台
  • 将64位DLL添加到\Bin和C:\Windows\SysWOW64文件夹中的所有5个DLL
以下是SysWow64文件夹中的DLL:


希望这对将来的人有所帮助。

我不理解否决票,尽管之前已经讨论过,但这个问题没有单一的解决方案

就我而言,我通过

  • 最初我没有安装API工具包。我得到了要在我的机器上复制的已安装文件夹。因此,我从exe安装程序安装了M3 API工具包
  • 使我的WCF应用程序面向64位平台
  • 将64位DLL添加到\Bin和C:\Windows\SysWOW64文件夹中的所有5个DLL
以下是SysWow64文件夹中的DLL:


希望这对将来的人有所帮助。

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

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

您需要将dll放在您的路径中,或者放在与应用程序相同的目录中binary@pm100谢谢,我也这么做了。我曾尝试将应用程序.net framework从4.5.2更改为2.0。没用unfortunately@pm100这里有简短的更新。请检查问题Use procmon from sysinternals查看yr应用程序在哪里查找DLL。你会看到它尝试了不同的路径,但丢失了,将它放在它正在查找的位置之一。你需要将dll放在你的路径中或与你的应用程序放在同一目录中binary@pm100谢谢,我也这么做了。我曾尝试将应用程序.net framework从4.5.2更改为2.0。没用unfortunately@pm100这里有简短的更新。请检查问题Use procmon from sysinternals查看yr应用程序在哪里查找DLL。你会看到它尝试了各种各样的路径,却找不到了,把它放在它正在寻找的一个地方