无法加载 DLL 'sqlite3':在 windows phone 应用程序中。

Posted

技术标签:

【中文标题】无法加载 DLL \'sqlite3\':在 windows phone 应用程序中。【英文标题】:Unable to load DLL 'sqlite3': in windows phone app.无法加载 DLL 'sqlite3':在 windows phone 应用程序中。 【发布时间】:2018-09-06 11:06:44 【问题描述】:

我正在开发一个 Windows Phone OLD 应用程序。我遇到了与 SQL3.dll 相关的问题。在视觉 2015 中。

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

我已经尝试过,完成清理所有项目,在 Bin/debug 文件夹中添加了 sqlite.dll,但我无法克服这个问题。 这是一个屏幕截图。

我尝试添加一个 dll 作为参考 (sqlite-winrt-3220000.vsix) 但这不兼容。 任何帮助,将不胜感激。

【问题讨论】:

这类问题之前已经回答过here 我已经应用了很多这样的解决方案,比如在 system32 文件夹中添加 dll,在 bin 文件夹中添加 dll 文件。但两者都不起作用。在您的链接中,我通过安装dependency walker 进行了检查,在那里我得到了“错误:至少一个文件不是32 位或64 位Windows 模块”。没有找到任何线索 【参考方案1】:

添加 dll 作为参考:

    在要使用它的项目中右键单击“引用”,然后选择“添加引用”。 选择“浏览”选项并使用浏览按钮选择要包含的 dll。 向类添加 using 语句。

之后就可以在项目中使用这个dll了。

【讨论】:

包已经被引用了所以抛出异常,不是很明显吗? SQLite 参考已添加。这之前工作正常,可能存在某种路径问题。我检查了路径文件夹,但没有名称为“Packages\\58576Appdsgn.Raamweg_6v6nrq06e3jsy\\TempState”的文件夹,您可以查看随附的屏幕截图。 dll 应该在项目文件夹中。它会自动添加到那里。 项目文件夹中是否有特定位置?因为我在 bin 文件夹中添加了但没有工作。 对于调试版本“..\bin\debug”。对于发布版本“..\bin\release”。【参考方案2】:

我尝试添加一个 dll 作为参考 (sqlite-winrt-3220000.vsix),但这不兼容。

SQlite 作为 VS 扩展分发。要添加对您的项目的引用,请右键单击“引用”、“添加引用”、“Windows Phone 8”、“扩展”,选中“SQLite for Windows Phone”,然后按 OK。

不需要其他步骤,您不需要其他引用,也不需要手动指定或部署 DLL。

另外 sqlite 对 WP8.1 有不同的扩展,你应该安装另一个,sqlite-wp81-winrt-3220000.vsix。

更新:我认为您正在尝试为 SQLite 库不支持的平台构建。 SQlite for windows phone 仅支持 2 个平台,intel 32 位(用于模拟器)和 ARM(用于设备和市场)。它不支持 AMD64,也不支持“Any CPU”。您可能正在尝试构建“任何 CPU”,它通常是 .NET 的默认平台。

另一个可能的原因是错误的项目类型。您的项目必须是 windows phone 8.1 应用程序,而不是通用的,即解决方案资源管理器面板中的项目名称必须以“(Windows Phone 8.1)”结尾

更新 2:我编译了一个使用 sqlite 的简单应用程序,在模拟器中运行它,它在我的 PC 上完美运行。确保您的参考文献如下所示:

如果您有相同的,请确保您已安装 VS 2015 Update 3。如果您已经拥有它,修复您的 Visual Studio 安装可能会有所帮助。

【讨论】:

这已经完成了。 Windows Phone 8.1(版本 3.15.1)的 SQLite 已经过检查,我可以在参考资料中看到。此外,我尝试通过浏览添加 sqlite-wp81-winrt-3220000.vsix,但出现错误“无法添加引用。请确保文件可访问,并且是有效的汇编或 COM 组件”。还有其他方法可以添加吗?或者还有其他问题 我正在尝试在模拟器 (x86) 上使用 intel 32 位进行构建。我没有尝试使用任何 CPU,因为当我选择它时,会显示 SQL 错误。此外,是的,您是对的,我的项目类型是 Windows Phone 8.1。不是通用的。

以上是关于无法加载 DLL 'sqlite3':在 windows phone 应用程序中。的主要内容,如果未能解决你的问题,请参考以下文章

sqlite3.dll是啥程序?他在电脑硬盘里面哪个位置的

跪求好心人分享sqlite3.dll 免费版软件免费百度云资源

系统开机显示无法定位程序输入点sqlite3_wal_ckpoint与动态链接库SQllite3.dll上

Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows

无法加载插件:sqlalchemy.dialects:sqlite3

Sqlite3 ImportError: DLL load failed