【问题标题】:Using SQLite-net in a WPF app在 WPF 应用程序中使用 SQLite-net
【发布时间】:2014-05-06 18:35:21
【问题描述】:

我正忙着让 SQLite 处理一个新的 WPF 项目。我最近编写了一堆 Windows Store 和 Phone 项目,并且总是在那里使用 the same neat SQLite-net implementation,但现在我似乎无法使用我的 WPF 应用程序来做到这一点。

我已经通过 nuget 添加了 SQLite-net,但是我找不到可以添加到项目中的 SQLite3.dll 版本。当我从 SQLite.org 下载它时,我收到以下错误。

我做错了什么?我找到的所有教程都告诉我改用System.Data.Sqlite,但我不想再次重写我所有的 DAL 代码

【问题讨论】:

标签: c# wpf sqlite


【解决方案1】:

我让它工作了。

对于任何试图这样做的人 - 具体来说,试图让 sqlite-NET 在 WPF 上工作,而不仅仅是 SQLite,您需要:

  1. http://www.sqlite.org/download.html下载sqlite3.dll的预编译windows二进制文件
  2. 将该 dll 文件复制到您的 bin 文件夹中
  3. 转到项目属性 > 构建并将 CPU 类型更改为 x86(在撰写本文时没有预编译的 x64 版本)

【讨论】:

  • 当你说'进入你的bin文件夹'时,你是指项目的bin文件夹,还是其他地方? Nuget 将 DLL 放入不同的目录,但该目录不称为“bin”。还有,怎么添加对刚才下载的dll的引用?
  • 尝试过这个 - 对我不起作用。 VS 2017,仍然有同样的问题。
【解决方案2】:

您需要从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 下载并安装合适的System.Data.SQLite 安装包。

这会将所需的 SQLIte 程序集安装到您的 GAC 和 Visual Studio 的设计时组件中。

对于 .NET 4.5.1 (VS 2013),当前链接是 http://system.data.sqlite.org/downloads/1.0.92.0/sqlite-netFx451-setup-bundle-x86-2013-1.0.92.0.exe

对于 .NET 4.5 (VS 2012),当前链接是 http://system.data.sqlite.org/downloads/1.0.92.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.92.0.exe

对于 .NET 4 (VS 2010),当前链接是 http://system.data.sqlite.org/downloads/1.0.92.0/sqlite-netFx40-setup-bundle-x86-2010-1.0.92.0.exe

完成此操作后,您将能够在项目中添加所需的 SQLite 程序集引用。

这是添加引用对话框中 SQLite 程序集的屏幕截图:

【讨论】:

  • 仍然不适合我......一旦我安装了其中一个(在我的情况下为 .net4),我知道我应该添加一个参考,但从哪里开始? dll文件在哪里?
  • 它在 GAC 中,所以不要浏览它,只要在打开添加引用对话框时输入 SQLite。
  • 嗨,院长。我实际上已经添加了这些,但是 SQLite-net 仍然抛出相同的错误。这是错误:dl.dropboxusercontent.com/u/568631/sqlite-error-1.png,我的参考:dl.dropboxusercontent.com/u/568631/sqlite-error-2.png
  • 回顾您的回答,我强烈怀疑这是针对更通用的 sqlite 实现,而不是按原样专门实现 sqlite-net 包装器库。如果我让你的实现工作,我必须重写我的代码,这不是我想要的
  • 完全正确 - 这实际上确实有效(添加了对手动编写 sqlite 命令的引用)。但是,我非常不愿意编写自己的包装器来处理对象与 sql 结果之间的来回转换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-14
  • 2016-06-02
  • 2010-11-20
  • 1970-01-01
相关资源
最近更新 更多