2016-01-06 83 views
1

我正在开发一种便携式类库,针对通用的Windows和.NET应用程序,从我的NuGet,安装Microsoft.Band SDK这个解决大部分乐队的符号:使用便携式类库带SDK

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

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

The Name BandClientManager does not exist in the current context 

两个符号是从SDK,任何理由一个定义,而其他没有解决?

回答

4

BandClientManager类型特定于正在使用Band SDK的平台(例如Windows Phone或Windows Store),部分原因是平台之间蓝牙API的差异。它不可移植,因此无法直接从面向多个平台的可移植类库中使用。

相反,您需要将您PCL中的Band SDK的使用限制在IBandClientManager接口,其中便携式。然后,您的平台专用库可以在运行时注入适当的BandClientManager.Instance

+0

我相信这是正确的答案。 –

+0

我们从哪里获得平台特定版本的库?例如,在Linux上可以实例化一个'IBandClientManager'? –