C# UWP应用中的BLE GATT:异步函数问题

C# UWP应用中的BLE GATT:异步函数问题,c#,uwp,bluetooth-lowenergy,gatt,C#,Uwp,Bluetooth Lowenergy,Gatt,我正在开发UWP应用程序来管理BLE/GATT设备。 我正在关注Microsoft()的官方文档。但是我对BluetoothLEDevice类的异步函数有一个问题 当我写下以下一行时: BluetoothLEDevice bluetoothLeDevice = await BluetoothLEDevice.FromIdAsync(deviceInfo.Id); 我有以下错误: 错误CS0012在以下程序集中定义了类型“IAsyncation” 未引用。必须添加对程序集窗口的引用, Vers

我正在开发UWP应用程序来管理BLE/GATT设备。 我正在关注Microsoft()的官方文档。但是我对BluetoothLEDevice类的异步函数有一个问题

当我写下以下一行时:

BluetoothLEDevice bluetoothLeDevice = await BluetoothLEDevice.FromIdAsync(deviceInfo.Id);
我有以下错误:

  • 错误CS0012在以下程序集中定义了类型“IAsyncation” 未引用。必须添加对程序集窗口的引用, Version=255.255.255.255,Culture=neutral,PublicKeyToken=null, ContentType=WindowsRuntime'

  • 错误CS0012在中定义了类型“IAsyncationWithProgress” 未引用的程序集。必须添加对程序集的引用 'Windows,版本=255.255.255.255,区域性=中性, PublicKeyToken=null,ContentType=WindowsRuntime'

  • 错误CS0012在程序集中定义了类型“IAsyncOperation” 这是没有参考的。必须添加对程序集的引用 'Windows,版本=255.255.255.255,区域性=中性, PublicKeyToken=null,ContentType=WindowsRuntime'

  • 错误CS0012中定义了类型“IAsyncOperationWithProgress” 未被引用的程序集。您必须添加对的引用 程序集的窗口,版本=255.255.255.255,区域性=中性, PublicKeyToken=null,ContentType=WindowsRuntime'

我试图手动添加以下引用(如我在多篇文章中发现的):

C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETCore\v4.5\system.runtime.windowsruntime.dll

C:\Program Files(x86)\Windows Kits\10\UnionMetadata\Windows.winmd

但是,在第一种情况下,VS说它已经包括在发电机系统(或类似的东西)中。在第二种情况下,我的代码中有许多类被引用了两次(比如Page)


解决方案是什么?

我猜您缺少在.Net应用程序中使用UWP api所需的参考


确保您在项目中使用的是法语,并且您添加的

A对大多数读者没有帮助。如果您翻译了异常消息并将其添加为文本肯定会有所帮助!错误被纠正了!但是我保留了截图(现在是英文的),因为有时候,它比消息列表更可读……是的!这就是问题所在!!!缺少Microsoft.Windows.SDK.Contracts!谢谢!但现在,我只在编译时出错:错误CS1704已导入具有相同简单名称“Windows.Services.Store.StoreContract”的程序集。请尝试删除其中一个引用(例如,'%user%\.nuget\packages\microsoft.windows.sdk.contracts\10.0.18362.2005\ref\netstandard2.0\windows.Services.Store.StoreContract.winmd')或对其进行签名以同时启用。这可能是因为您在以前的尝试中尝试手动添加引用。尝试删除除nuget包之外的任何引用。好的,谢谢你的回答,但这比这更容易!Nuget软件包是SDK 10.0.18362,我的应用程序是为10.0.16299目标而设计的!我刚把目标改为18362,现在没事了!