【问题标题】:Ambiguous reference between 'Microsoft.Azure.Devices.Client.Message' and 'Microsoft.Azure.Devices.Message'Microsoft.Azure.Devices.Client.Message' 和 'Microsoft.Azure.Devices.Message' 之间的模糊引用
【发布时间】:2021-06-25 14:49:48
【问题描述】:

我是 C# 新手,并且使用了一些代码引用。我添加了一些使用 Microsoft.Azure.Devices.Client 的方法,而一些方法使用了 Microsoft.Azure.Devices。现在消息类不明确的引用,我需要两个 using 语句。我现在能做什么?

错误信息是: "'Message' 是 'Microsoft.Azure.Devices.Client.Message' 和 'Microsoft.Azure.Devices.Message' 之间的模糊引用"

代码是:

using System;
 using System.Text;
 using System.Threading.Tasks;
 using Microsoft.Azure.Devices.Client;
 using Microsoft.Azure.Devices;
 using Microsoft.Azure.Devices.Shared;
 using Microsoft.Azure.Devices.Provisioning.Client;
 using Microsoft.Azure.Devices.Common.Exceptions;
 using Microsoft.Azure.Devices.Provisioning.Client.Transport;
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;

消息类的使用如下所示:

var message = new Message(Encoding.ASCII.GetBytes(messageString));

我尝试使用Client.Message,但它不起作用。我使用 python 并且是 c# 新手,不知道它是如何工作的。

有人可以详细解释一下解决方案吗?

【问题讨论】:

    标签: c# azure


    【解决方案1】:

    "'Message' 是 'Microsoft.Azure.Devices.Client.Message' 和 'Microsoft.Azure.Devices.Message' 之间的模糊引用"

    这意味着Microsoft.Azure.Devices.ClientMicrosoft.Azure.Devices都有一个名为Message的类;你已经导入了两个命名空间,所以当你说Message时,C# 不再确定你的意思。

    要么删除其中一个命名空间,要么通过在名称前添加完整命名空间来完全限定 Message,具体取决于您打算使用的 Message 类(我也无法确定,因为它们都有一个字节的构造函数)

    var cmessage = new Microsoft.Azure.Devices.Client.Message(...);
    var dmessage = new Microsoft.Azure.Devices.Message(...);
    

    如果您经常键入其中任何一个,您可以为其中一个使用别名(如果您停止导入一个命名空间,因为您需要的只是消息类)或两者都使用(如果您携带导入两个命名空间):

    using ClientMessage = Microsoft.Azure.Devices.Client.Message;
    using DeviceMessage = Microsoft.Azure.Devices.Message;
    

    那么你可以说:

    var cmessage = new ClientMessage(...);
    var dmessage = new DeviceMessage(...);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多