c# – 如何配置WPF项目以使用BLE?

更新2:
下面是我目前所处位置的详细信息,但我不希望细节破坏任何可能与在WPF中找到BLE / GATT路径的基本问题有关的一般答案.

构建系统版本:

Microsoft Visual Studio Community 2017 
Version 15.7.4
VisualStudio.15.Release/15.7.4+27703.2035
Microsoft .NET Framework
Version 4.7.03056

到目前为止,我已将项目文件更改为目标Windows 8.1,< TargetPlatformVersion> 8.1< / TargetPlatformVersion>.

目前,我正在获取本地BLE广告,但当我尝试访问GATT服务时:

var _service = await GattDeviceService.FromIdAsync(deviceId);

更新1:
我试图包括WinRT.
这是我的参考及其属性:

c# – 如何配置WPF项目以使用BLE?
c# – 如何配置WPF项目以使用BLE?

任何帮助将不胜感激.

解决方法:

安装Windows 10 SDK.

然后添加三个引用:

Windows
Windows.Foundation.FoundationContract
WindowsBase

然后在属性中将“复制本地”设置为“true”.

可能的位置提示:

D:\Windows Kits\10\UnionMetadata\10.0.17134.0\Windows.winmd
D:\Windows Kits\10\References\10.0.17134.0\Windows.Foundation.FoundationContract\3.0.0.0\en\Windows.Foundation.FoundationContract.xml
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsBase.dll

请务必在目标计算机上执行完整更新.在撰写本文时,有些项目在Win10更新完成之前无法正常工作.

另一种可能的方法是通过NuGet UWP-Desktop,虽然我没有机会尝试它.

上一篇:python – BlueZ AutoReconnect作为设备到PC


下一篇:android – 使用SL4A(Python)和蓝牙