0

我在 Windows 操作系统上使用 0mq 和 clr 绑定 - 版本 3.2.2。在一个特定的 Windows 7 64 位系统上,0mq 在创建新上下文时总是失败。我最初认为它与 Windows 服务 / IIS 有关,但即使是简单的控制台应用程序也失败了

下面的错误信息

Assertion failed: Connection timed out (..\..\..\signaler.cpp:260)
External component has thrown an exception.

最后一个错误代码(我从 C# 调用 GetLastError)是10060(这是连接 tiemout)

下面的代码

var ctx = new Context(1);

我检查了以下链接并尝试了建议,但没有运气
http://grokbase.com/t/zeromq/zeromq-dev/126jmgg0aq/sehexception-when-calling-zmq-init-from-clrzmq https://github。 com/zeromq/clrzmq/issues/81
从 IIS 7.5 Web 应用程序调用 Win32 CreateEvent() 失败

我试过以下

  • 使用依赖检查器并确保所有引用的 DLL 都存在
  • 确保已安装 VC++ 2010 运行时
  • 运行控制台应用程序的帐户具有管理员权限,并且我还明确授予在用户帐户管理中创建全局对象(建议之一)的权限

我对这个错误感到困惑。0mq 到目前为止运行良好,我想更大规模地部署它。现在这个错误给了我同样的想法。任何帮助将不胜感激

4

1 回答 1

0

在我看来,您的应用程序没有找到合适的 ZMQ DLL。有几件事要检查:

  1. 确保 libzmq.dll 与您的 exe 位于同一目录中。
  2. 确保您知道 libzmq.dll 是 32 位还是 64 位。
  3. 确保您已在 C# 项目文件中明确指定了架构(x86 或 x64,而不是 AnyCPU),并且您选择的架构与您正在使用的 libzmq.dll 文件的架构相匹配。
于 2013-04-04T17:56:23.980 回答