加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

为什么我的WPF应用程序中出现“无法加载DLL’sqlite3’”?

发布时间:2020-12-14 04:17:28 所属栏目:Windows 来源:网络整理
导读:我添加了我认为必要的SQLite(和sqlite-net)包到我的应用程序.但是,在运行它时,我得到一个例外: System.DllNotFoundException未被用户代码处理 的HResult = -2146233052 消息=无法加载DLL的’sqlite3’:找不到指定的模块. (例外 我安装了以下SQLite包: 缺
我添加了我认为必要的SQLite(和sqlite-net)包到我的应用程序.但是,在运行它时,我得到一个例外:

System.DllNotFoundException未被用户代码处理
的HResult = -2146233052
消息=无法加载DLL的’sqlite3’:找不到指定的模块. (例外

我安装了以下SQLite包:

缺什么?

UPDATE

我尝试了ajawad987的建议,但仍然得到相同的运行时错误,即使我有这个:

…还有这个:

更新2

发生这个运行时异常的地方(在SQLite.cs中)对我来说似乎很奇怪:

如果SILVERLIGHT || USE_CSHARP_SQLITE

var r = SQLite3.Open (databasePath,out handle,(int)openFlags,IntPtr.Zero);

其他

// open using the byte[]
        // in the case where the path may include Unicode
        // force open to using UTF-8 using sqlite3_open_v2
        var databasePathAsBytes = GetNullTerminatedUtf8 (DatabasePath);
        var r = SQLite3.Open (databasePathAsBytes,(int) openFlags,IntPtr.Zero);

万一

但是我正在使用C#,那么为什么线路甚至无法运行呢? (它在“else”块中失败了)?

您的项目构建是否设置为任何CPU?对于SQLite3,您需要将其设置为x86或x64. x86路由将在设备之间产生更多兼容性,因此除非您使用某些特定的64位内容,否则我建议使用该选项.

编辑:您还需要从Sqlite’s main site手动下载实际的Sqlite DLL.您想要的文件名为sqlite-dll-win32-x86-3080702.zip.从该ZIP中提取DLL并将其作为内容文件添加到项目中.将属性工具窗口中的“复制到输出目录”选项设置为“始终复制”,然后重建.还要确保您的项目设置为x86选项,如上所述.

这应该有希望做到这一点……自从我在.NET应用程序中使用Sqlite以来已经有一段时间了.

附注:您下载的Nuget包实际上只包含真正的Sqlite DLL周围的C#包装器库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读