通过 NuGet 添加 System.Data.SQLite 不会添加对项目的引用

Adding System.Data.SQLite through NuGet doesn't add a reference to the project

我正在尝试制作一个非常简单的 Xamarin.Forms 测试应用程序来探索 System.Data.SQLite 包的一些功能(即加密)。但是,我似乎无法获得 Visual Studio 2012 以将对包的引用添加到项目中。

以下是我正在执行的步骤:

  1. 创建了一个新的 Xamarin.Forms 便携式空白应用程序。
  2. 右键单击 TestApp(核心项目)并select管理 NuGet 包
  3. 搜索 "sqlite"
  4. 安装 "System.Data.SQLite (x86/x64)" 包。 (此软件包是版本 1.0.97.0,描述为 "the official SQLite database engine for both x86 and x64 along with the ADO.NET provider.")
  5. 根据 NuGet,包已成功安装。

但是,我看不到在我的项目的 "References" 文件夹下添加的引用,而且我也无法写入 "using System.Data.SQLite" 而没有错误 ("cannot resolve symbol 'Data'")。有谁知道为什么会这样吗?

附带说明一下,我可以按照上述完全相同的过程进行操作,只是我没有创建 Xamarin.Forms 便携式空白应用程序,而是选择了常规的 C# 控制台应用程序。这使我可以很好地安装 NuGet 包,并且它会按预期显示在引用中。

对于 PCL 个项目,使用 SQLite.Net-PCL

发布更新以分享我学到的东西。

正如 Jason 在他的回答中提到的那样,我无法在我的 Xamarin.Forms 项目中引用该包的原因是因为 Xamarin.Forms 根据定义是 PCL 项目。它适用于所有平台。我在问题中提到的包不是 PCL,这意味着包中任何依赖于平台的东西都是不可访问的(基本上是整个包)。 SQLite.Net-PCL 包与 System.Data.SQLite 基本相同,但采用 PCL 形式,这意味着它兼容用于 Xamarin.Forms 项目。

按照这个逻辑,我能够从控制台项目访问 System.Data.SQLite 是有道理的,因为控制台项目不是 PCL 项目并且它针对特定平台。