我有一个下面的方法,用
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>