调用 ProvisioningDeviceClient 的 RegisterAsync 时抛出异常

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

我有一个下面的方法,用

C#

写的
 public async Task<DeviceRegistrationResult> RegisterDevice(ProvisioningDeviceClient provClient)
    {
        DeviceRegistrationResult registrationResult = null;
        try
        {
            registrationResult = await provClient.RegisterAsync().ConfigureAwait(false);

            if (registrationResult.Status != ProvisioningRegistrationStatusType.Assigned) {
               

            }
           
        }

        catch (Exception ex)
        {
           
        }
        return registrationResult;
    }

这个方法是这样调用的

   var deviceRegistrationResult = await _dpsDeviceClient.RegisterDevice(provClient);

我低于错误

System.MissingMethodException:'找不到方法:'System.Threading.Tasks.Task`1 Microsoft.Azure.Devices.Provisioning.Client.ProvisioningDeviceClient.RegisterAsync()'。'

我正在使用 Microsoft.Azure.Devices.Provisioning.Client 库的 1.5.2 版。

我还尝试将 Microsoft.Azure.Devices.Provisioning.Client 升级到 1.19.2,这次它没有显示异常,但我的应用程序崩溃了。奇怪的是,在

Catch
部分没有发现异常。

以下代码用于创建

ProvisioningDeviceClient

 using (var transport = new ProvisioningTransportHandlerMqtt(TransportFallbackType.WebSocketOnly))
   {
   provClient = ProvisioningDeviceClient.Create(GlobalDeviceEndpoint, "MyIdScope",
                     security, transport);
   }

注意:出于安全目的,帖子中未提及 MyIdScope。

.csproj文件内容

 <Project Sdk="Microsoft.NET.Sdk">

 <PropertyGroup>
 <OutputType>Exe</OutputType>
 <TargetFramework>netcoreapp3.1</TargetFramework>
 </PropertyGroup>

 <ItemGroup>
 <PackageReference Include="Microsoft.Azure.Devices.Provisioning.Client" Version="1.19.2" />
  <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
  <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" />
  <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.1" />
  <PackageReference Include="Serilog.Extensions.Logging" Version="3.0.1" />
 <PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\ConnectivityLibrary\ConnectivityLibrary.csproj" />
</ItemGroup>

<ItemGroup>
<None Update="appsettings.json">
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>

</Project>
c# azure-iot-hub
© www.soinside.com 2019 - 2024. All rights reserved.