vb.net - 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 项目
解决方案
最后一个是近 4 年前最后一次更新,所以显然不是正确的选择。那是在微软接受 SQLite 作为推荐的基于文件的数据库系统之前。Microsoft 曾经提供自己的 SQL Server CE,但大概认为尝试与 SQLite 竞争是没有意义的,因为它已经满足了 .NET 开发人员的需求。请注意,新选项以 开头System.Data
,通常为 Microsoft 自己的类型保留。
至于其他两个,如果您检查每个的依赖关系,您会发现第一个依赖于第二个。正如描述所说,它们既是官方的 SQLite 数据库引擎和 ADO.NET 提供者,但与 Core 包不同的是,第一个添加了对 LINQ 和 EF6 的支持。你想要那种支持吗?这就是决定添加哪个包的原因。
如果你不知道你需要哪个,那么你可以现在添加核心包,如果需要,稍后添加另一个。另请注意,NuGet 包是按项目添加的。即使在同一个解决方案中,项目也可以添加不同的包。您应该/将只添加您创建的每个项目所需的包。
推荐阅读
- java - 如何正确嵌套循环
- xml - 动态递归 xslt 从另一个 XML 更新一个 XML
- c# - 如何关闭下拉列表所需的消息?
- javascript - javascript:array.length 评估为未定义
- html - 参数化 HTML 报告中的弹出窗口 RMarkdown
- node.js - 响应中的不稳定行为 express + next + 对并发请求做出反应
- reactjs - 如果我不使用它们,为什么它会在反应生命周期方法中出错?
- entity-framework - 更新 EF Core 上下文中的特定实体条目
- python - 错误实用程序:python 的线程标准输出编写器中未捕获的异常
- dynamic - 我可以在 robots.txt 中引用动态生成的站点地图吗?