无法加载 DLL 'sqlite3':找不到指定的模块。(HRESULT 为 0x8007007E 的异常)

4

我正在开发一个 Windows Forms 应用程序。当我在 Windows 8 (VS2012) 上运行该应用程序时,应用程序可以运行到某个程度,然后崩溃,抛出异常 "{"Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}"。

我无法将 sqlite3 dll 包含在引用中。当我尝试添加并将 Copy Local 属性更改为 True 时,无法完成操作,因为每次构建解决方案时,此属性会自动更改为 False。 当我尝试通过 release\x64 文件夹添加 SQLite3 时,会出现文件无法访问的错误。 请帮助我解决这个问题!

1个回答

5
将x64(64位)版本的sqlite3.dll添加到包含可执行文件的文件夹中。
确保解除文件的阻止。您可以在Windows资源管理器中右键单击它来解除阻止。在常规选项卡的右下角,您应该看到一个“解除阻止”按钮。

您无法将其作为引用添加,因为它不是.NET程序集。


我尝试这样做...现在我得到了以下错误: “尝试使用不正确的格式加载程序。(HRESULT 异常: 0x8007000B)” - Sid
@Sid:好的,问题可能出在其他地方。我修改了我的答案,请确认一下。 - Daniel Hilgarth
我也尝试过这个.. 这是我得到的错误: “在 DLL 'sqlite3' 中找不到名为 'sqlite3_open_v2' 的入口点。” - Sid
@Sid:这听起来像是版本不匹配的问题,应该作为一个新问题提出。 - Daniel Hilgarth
这是解决问题的方案: 我将一个名为SQLite.Tests的dll添加到我的解决方案中,并从中移除了Sqlite3.dll。它运行良好,现在我不再收到任何异常。 - Sid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接