我正在尝试部署使用 ZeroMQ 的 Azure Web 角色。在我的本地机器上,一切正常,但是当我部署它时,我收到以下错误:
Unable to load DLL 'libzmq': The specified module could not be found
我已将 dll 的构建属性标记为“内容”,并且可以在正在创建的包中看到它。有什么我忽略的吗?
单击 DLL 文件并将其“复制到输出目录”属性设置为“始终复制”。
您可以通过提取和检查 .cspkg 文件来验证 DLL 是否正在复制到云中(您可以将其重命名为 .zip 并提取它)。
还要确保 DLL 编译为 64 位,否则它将无法在 Azure 中运行。
我终于弄明白了。事实证明,最新的 libzmq 是使用 VS2010 构建的,因此它依赖于 VC++ 2010 运行时。Azure 实例默认没有它们,因此您需要让您的角色在启动之前安装依赖项。
您可以尝试此处显示的示例Pub/Sub with ZeroMQ on Azure