Lea*_*ng1 12 dllnotfoundexception zeromq
我刚刚开始使用ZeroMQ并正在试验一些样本.我正在使用C#语言绑定并遇到了获取DllNotFound异常的问题.
将libzmq.dll复制到Windows/System32之后,我可以在我的开发机器上加载和运行样本,但是当我将其移动到其他服务器时,尽管将libzmq.dll复制到样本运行的文件夹中,我仍然会收到错误.进入Windows/System32.
我已将clzmq.dll放入示例应用程序所在的文件夹中,并且libzmq.dll此外,我将libzmq放入c:/ Windows/System32.我正在运行Windows Server 2003 Service Pack 2.当我检查机器环境变量时,WINDOWS/System32在PATH变量中.我还确定使用Release构建libzmq dll,而不是调试.
有可能我不明白应该如何使用ZeroMQ .Net绑定.我已将clzmq.dll(.Net Binding)添加到我的项目作为参考,我假设clzmq.dll会自动引用Windows PATH变量WINDOWS/System32上的libzmq.
有谁知道我是否对此有误.C#Binding文档(http://www.zeromq.org/bindings:clr)声明"ZeroMQ库文件需要可用于绑定才能工作",但它接缝我尽管无法使其可用将其复制到PATH变量中.
使用ZeroMQ .Net Bindings时是否有人遇到过DLL未找到的异常?
谢谢您的帮助,
小智 8
我在Windows Server 2008上遇到了这个确切的错误.一旦我的代码试图创建一个clrzmq(2.2.3)对象,Windows就试图加载DLL并因错误而失败:
Unable to load DLL 'libzmq': The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)
DLL绝对存在.我尝试了各种具有权限的解决方案,所有这些都无法解决问题.下载和安装VS2010 C++可再发行组件解决了我的问题.
在检查我的系统是否有 Microsoft Visual C++ 2010 Redistributable 后,我仍然遇到同样的问题。我的操作系统是 Windows 7 64 位。我在 Visual Studio 2010 中从 NuGet 获取了 ZeroMQ 库。
PS,我找到了解决我的错误的解决方案。在VS中从NuGet下载ZeroMQ时,实际上有一个警告,我一开始忽略了。它说除了 clrzmq2 的引用之外,还需要手动将 libzmq.dll 复制到项目的输出目录。手动将 libzmq.dll 复制到输出目录后,它现在可以工作了。顺便说一句,我尝试将 libzmq.dll 复制到 C:\Windows\System32 ,如上所述,它也不起作用。
希望能帮助到你。