繁体   English   中英

如何使用Package Manager Console为控制台C#应用程序安装clrzmq?

[英]How to install clrzmq using Package Manager Console for a console c# application?

场景:一旦Node.js服务器具有ZeroMQ,就可以在tcp://127.0.0.1:2202上监听。 并且数据必须由C#控制台应用程序发送。

问题:
范例参考

using System;
using System.Text;
using ZMQ;

namespace ZMQGuide
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context and client socket
            using (ZmqContext context = ZmqContext.Create())
            using (ZmqSocket client = context.CreateSocket(SocketType.PUSH))
            {
                client.Connect("tcp://127.0.0.1:2202");

                string request = "Hello";
                for (int requestNum = 0; requestNum < 10; requestNum++)
                {
                    Console.WriteLine("Sending request {0}...", requestNum);
                    client.Send(request, Encoding.Unicode);

                    string reply = client.Receive(Encoding.Unicode);
                    Console.WriteLine("Received reply {0}: {1}", requestNum, reply);
                }
            }
        }
    }
}

给出以下错误:

Error   1   The type or namespace name 'ZmqContext' could not be found (are you missing a using directive or an assembly reference?)    D:\..\Program.cs    26  24  PROJECTA

信息:我尝试通过使用以下命令在命令后发出命令PM> Install-Package clrzmq输出,使用软件包管理器控制台安装最新版本:

'clrzmq 2.2.5' already installed.
Successfully added 'clrzmq 2.2.5' to PROJECTA.

问题:谁能告诉我我要去哪里或我想念什么?


更新:我已经下载并尝试过,但是没有运气:-)

前进感谢您的大力帮助

我可以重现您的问题。 我认为这可能是因为文档有些过时了,但这对我来说似乎很重要:

using ZMQ;

namespace TestConsole 
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context and client socket
            using (Context context = new Context())
            using (Socket client = context.Socket(SocketType.PUSH))
            {
                client.Connect("tcp://127.0.0.1:2202");

                string request = "Hello";
                for (int requestNum = 0; requestNum < 10; requestNum++)
                {
                    Console.WriteLine("Sending request {0}...", requestNum);
                    client.Send(request, Encoding.Unicode);

                    string reply = client.Recv(Encoding.Unicode);
                    Console.WriteLine("Received reply {0}: {1}", requestNum, reply);
                }
            }
        }
    }
}

我没有ZeroMQ或任何正在运行的工具来实际检查其是否有效,但是也许您可以试一试?

根据我的经验,要获取clrzmq(ZeroMQ)的最新版本(3.0),我需要将“ -Version”选项添加到Package Manager调用中,如下所示:

PM> Install-Package clrzmq -Version 3.0.0-rc1

同样,当使用3.0时,“使用中”是ZeroMQ而不是ZMQ:

using ZeroMQ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM