我正在创建一个必须能够在离线时加载的应用程序,为此我们使用 Azure 和 Sqlite。在项目中,我从 NuGet 下载了 Microsoft.WindowsAzure.MobileServices.SQLiteStore 包及其依赖包 SQLitePCL。这些包被添加到 PCL、android、ios 和 win 手机项目中。在 ios 和 android 中,一切都像魅力一样工作,然而,在 windows phone 中,由 SQLitePCL 添加的参考“SQLite for Windows Phone (SQLite.WP80, Version 3.8.7.2)”被破坏,并且在尝试构建项目时抛出错误“找不到 SDK SQLite.WP80,版本=3.8.7.2”。我曾尝试从 NuGet 下载旧版本以查看是否有工作版本,但我没有运气。我还尝试删除此引用并将其添加到项目中,通过 Visual Studio 扩展从外部下载它,然后将下载的扩展添加到项目中,以解决引用损坏的问题。添加的版本比 NuGet 新,因为我找不到相同的版本。外部参考版本是“SQLite for Windows Phone (SQLite.WP80, version=3.10.2)”。它现在可以正确编译,但是当代码到达需要此引用的执行点时,它会引发以下错误“此功能未在此程序集的可移植版本中实现。您应该从主应用程序项目中引用 NuGet 包,以便参考平台特定的实现。”。更具体地说,执行以下代码时会引发此错误:
if (!CrossConnectivity.Current.IsConnected)
有谁知道我怎样才能让这个参考工作,因为它似乎在 NuGet 中被破坏并且它不允许我在外部添加它?
更新
添加了我在 NuGet 中的包和它们所在的项目的一些屏幕截图(除了 common 和 api 项目之外的所有项目)。同样在屏幕截图中,我放置了 PCL 和 WinPhone 项目中所有引用的图像。PCL 中唯一没有的参考是专门针对 Windows 的参考,其中之一是您提供的链接中提到的“SQLite for Windows (SQLite.WP80, version=3.10.2)”的参考。