通过 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 以将对包的引用添加到项目中。
以下是我正在执行的步骤:
- 创建了一个新的 Xamarin.Forms 便携式空白应用程序。
- 右键单击 TestApp(核心项目)并select管理 NuGet 包
- 搜索 "sqlite"
- 安装 "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.")
- 根据 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 项目并且它针对特定平台。
我正在尝试制作一个非常简单的 Xamarin.Forms 测试应用程序来探索 System.Data.SQLite 包的一些功能(即加密)。但是,我似乎无法获得 Visual Studio 2012 以将对包的引用添加到项目中。
以下是我正在执行的步骤:
- 创建了一个新的 Xamarin.Forms 便携式空白应用程序。
- 右键单击 TestApp(核心项目)并select管理 NuGet 包
- 搜索 "sqlite"
- 安装 "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.")
- 根据 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 项目并且它针对特定平台。