首页 > 解决方案 > Visual Studio 2019 安装哪个 sqlite

问题描述

我的最终目标是在 Windows 7 SP 1 64 位上的 Visual Studio 2019 中安装正确的 SQLite 包
该项目是一个 WinForms 应用程序,我可能会尝试 UWP 应用程序
NuGet Ice Cream Store 似乎有很多 SQLite 口味

System.Data.SQLite 1.0.113.1
适用于 x86 和 x64 的官方 SQLite 数据库引擎以及 ADO.NET 提供程序。
此软件包包括对 LINQ 和 Entity Framework 6 的支持。

System.Data.SQLite.Core 1.0.113.1
适用于 x86 和 x64 的官方 SQLite 数据库引擎以及 ADO.NET 提供程序。

sqlite 3.13.0
SQLite 是一个实现自包含、无服务器、零配置、事务性 SQL 数据库引擎的软件库。此软件包包含 Linux、macOS 和 Windows(桌面和通用 Windows 应用程序)上的 SQLite 的本机库。

此处的最后一个选项似乎是正确且合乎逻辑的选择,然后我查看了此 SO Post

链接

经过 3 天的阅读和搜索,我放弃了,因此困惑赢得了

虽然我在上面陈述了我的最终目标,但我是否也可以假设 NuGet 会将 SQLite 包放在项目参考文件夹
中问题是我希望打包后有一个自包含的 EXE 项目

标签: vb.netsqlitenuget

解决方案


最后一个是近 4 年前最后一次更新,所以显然不是正确的选择。那是在微软接受 SQLite 作为推荐的基于文件的数据库系统之前。Microsoft 曾经提供自己的 SQL Server CE,但大概认为尝试与 SQLite 竞争是没有意义的,因为它已经满足了 .NET 开发人员的需求。请注意,新选项以 开头System.Data,通常为 Microsoft 自己的类型保留。

至于其他两个,如果您检查每个的依赖关系,您会发现第一个依赖于第二个。正如描述所说,它们既是官方的 SQLite 数据库引擎和 ADO.NET 提供者,但与 Core 包不同的是,第一个添加了对 LINQ 和 EF6 的支持。你想要那种支持吗?这就是决定添加哪个包的原因。

如果你不知道你需要哪个,那么你可以现在添加核心包,如果需要,稍后添加另一个。另请注意,NuGet 包是按项目添加的。即使在同一个解决方案中,项目也可以添加不同的包。您应该/将只添加您创建的每个项目所需的包。


推荐阅读