在Visual Studio 2019中未找到MqttMsgSubscribe.cs错误(C#)

在Visual Studio 2019中未找到MqttMsgSubscribe.cs错误(C#),c#,mqtt,C#,Mqtt,我有一个奇怪的错误,代码如下: MqttClient mClient = null; string[] topics = { "topic1", "topic1", "topic3" , "topic4"}; mClient = new MqttClient("127.0.0.1"); mClient.Connect(Guid.NewGuid().ToString()); if (!mClient.IsConnected) { Console.WriteLine("Error

我有一个奇怪的错误,代码如下:

MqttClient mClient = null;   
string[] topics = { "topic1", "topic1", "topic3" , "topic4"};

mClient = new MqttClient("127.0.0.1");
mClient.Connect(Guid.NewGuid().ToString());

if (!mClient.IsConnected) {
    Console.WriteLine("Error Connecting to message broker...");
    return;
}

 Client.MqttMsgPublishReceived += MClient_MqttMsgPublishReceived;
 byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
 MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE };
 mClient.Subscribe(topics, qosLevels);

有4个字符串
({“topic1”、“topic1”、“topic3”、“topic4”})
我有
MqttMsgSubscribe.cs
未找到错误,但有3个
({“topic1”、“topic1”、“topic3”})
应用程序运行正常,没有任何错误,有人能帮我吗?

这是因为你的
主题
数组有4项,但是
qosLevels
3:) 这些数组中的项目计数应该完全相同

因此,请这样做:

byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE };

这是因为您的
主题
数组有4项,但
qosLevels
只有3项:) 这些数组中的项目计数应该完全相同

因此,请这样做:

byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
                     MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE };