在便携式 class 库上使用 Band sdk

using Band sdk on portable class library

我正在开发一个面向通用 Windows 和 .Net 应用程序的便携式 class 库,我从 NuGet 安装了 Microsoft.Band SDK,这解决了大部分带符号:

IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

IBandInfo 被接受,但 BandClientManager 引发错误:

The Name BandClientManager does not exist in the current context

两个Symbols都来自SDK,是什么原因一个定义了,另一个没有解析?

BandClientManager 类型特定于使用 Band SDK 的平台(例如 Windows Phone 或 Windows Store),由于(部分) 到平台之间蓝牙 API 的差异。它不可移植,因此不能直接从面向多个平台的便携式 Class 库中使用。

相反,您需要将 PCL 中 Band SDK 的使用限制为 IBandClientManager 界面, 可移植。然后,您的 platform-specific 库可以在运行时注入适当的 BandClientManager.Instance