Azure IoT SDK .NET 6 支持吗?

问题描述 投票:0回答:1

根据文档(https://github.com/Azure/azure-iot-sdk-csharp/blob/main/supported_platforms.md),Azure IoT SDK仅正式支持.NET 5。

但是 .NET 5 生命周期已结束,那么这是否准确?我们希望在 Linux 上的 .NET 6 上运行 SDK,但如果它没有得到官方支持,我们是否应该以 .NET 5 为目标,即使它已经结束了?

azure-iot-hub
1个回答
0
投票

是的,Azure IoT SDK .NET 6 支持。

  • 我们可以升级表格。 net5 到 .net6
  • 从参考文献MSDOC我们可以将.Net 5升级到.Net 6.

enter image description here

  • 确保下载 .NET 6.0 Linux、macOS 和 Windows

    <PropertyGroup>
      <OutputType>Exe</OutputType>
      <TargetFramework>net6.0</TargetFramework>
      <ImplicitUsings>enable</ImplicitUsings>
      <Nullable>enable</Nullable>   </PropertyGroup>
    

enter image description here

  • 我尝试了此示例 Azure IoT SDK for .NET 6 Azure for .NET 开发人员和输出。
    using (var deviceClient = DeviceClient.CreateFromConnectionString(connectionString, TransportType.Mqtt))
    {
        await SendTelemetryMessage(deviceClient, deviceId);
    }
}

static async Task SendTelemetryMessage(DeviceClient deviceClient, string deviceId)
{
    try
    {
        var telemetryDataPoint = new
        {
            temperature = 25.5,
            humidity = 60.0
        };
        var messageString = Newtonsoft.Json.JsonConvert.SerializeObject(telemetryDataPoint);
        var message = new Message(Encoding.ASCII.GetBytes(messageString));
        message.Properties.Add("deviceId", deviceId);

        await deviceClient.SendEventAsync(message);
        Console.WriteLine("Message sent: {0}", messageString);
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error sending telemetry: {ex.Message}");
    }

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.