无法在 SQLite Net Platform WinRT 中加载 DLL 'sqlite3'
Unable to load DLL 'sqlite3' in SQLite Net Platform WinRT
我正在使用 Xamarin.Forms 开发本机应用程序。但是我现在面临的问题与Xamarin无关。我通过
添加了新的 Windows Phone 项目
right-click > Add > New Project -> Windows Phone Apps -> Blank App(Windows Phone).
在 Visual Studio premium 2013 中我现有的 Xamarin 项目中。我正在使用 sqlitenet pcl 进行数据库连接。我的项目中有以下代码。
public ISQLitePlatform CreateSqlitePlatformInterface()
{
return new SQLitePlatformWinRT();
}
当它在上面执行时,抛出异常
An exception of type 'System.DllNotFoundException' occurred in SQLite.Net.Platform.WinRT.DLL but was not handled in user code
Additional information: Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
这个问题已经被问过很多次了,我尝试了所有建议的解决方案,但仍然无法解决。
我的Packages.config
<package id="SQLite.Net-PCL" version="3.0.5" targetFramework="wpa81" />
<package id="Sqlite-Winrt" version="3.8.7.1" targetFramework="wpa81" />
<package id="Xamarin.Forms" version="1.4.2.6359" targetFramework="wpa81" />
以上是我从Nuget下载的包。我错过了什么吗?我还需要补充什么?
我也试过:
- 已从 Sqlite 下载 sqlite-winrt81-3081002.vsix 下载
页。
- 从 x86 复制 sqlite3.dll。
- 尝试将其粘贴到我的 bin
文件夹以及我的项目 root 并将其内容更改为
总是复制。 ()
- 我的项目针对 x86 而不是 任何 CPU.
尝试了以下建议的解决方案:Sol1, Sol2
我的项目参考:
安装 SQLite Visual Studio Extension 后,您需要在 Windows / Extensions 下的 Reference Manager 中添加对 SQLite for Windows Runtime
的引用。
在 2016 年 3 月更新 Windows 10 和 Visual Studio 2015 后,我遇到了不同类型的错误:我的应用程序在部署到我的桌面时会 运行 正常,但崩溃System.DllNotFoundException(“无法加载 DLL 'sqlite3'”)当部署到我的平板电脑时(即使在使用最新更新更新平板电脑 OS 之后)。所以我解决问题的步骤如下如下:
- 卸载了名为“SQLite for Universal App Platform”的 VS 扩展 (v3.10.2)
- 从我的项目中删除了对此扩展的引用
- 再次安装扩展——除了这次它在在线扩展列表中显示为“SQLite for Universal Windows Platform”(v3.12.1)
- 在我的项目中添加了对此扩展的引用
- (这是重要的部分,我之前不需要这样做):添加了对“Visual C++ 2015 Runtime for Universal Windows Platform Apps”(v14.0) 扩展的引用
直到最后一步才真正解决了问题。
我正在使用 Xamarin.Forms 开发本机应用程序。但是我现在面临的问题与Xamarin无关。我通过
添加了新的 Windows Phone 项目right-click > Add > New Project -> Windows Phone Apps -> Blank App(Windows Phone).
在 Visual Studio premium 2013 中我现有的 Xamarin 项目中。我正在使用 sqlitenet pcl 进行数据库连接。我的项目中有以下代码。
public ISQLitePlatform CreateSqlitePlatformInterface()
{
return new SQLitePlatformWinRT();
}
当它在上面执行时,抛出异常
An exception of type 'System.DllNotFoundException' occurred in SQLite.Net.Platform.WinRT.DLL but was not handled in user code
Additional information: Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
这个问题已经被问过很多次了,我尝试了所有建议的解决方案,但仍然无法解决。
我的Packages.config
<package id="SQLite.Net-PCL" version="3.0.5" targetFramework="wpa81" />
<package id="Sqlite-Winrt" version="3.8.7.1" targetFramework="wpa81" />
<package id="Xamarin.Forms" version="1.4.2.6359" targetFramework="wpa81" />
以上是我从Nuget下载的包。我错过了什么吗?我还需要补充什么?
我也试过:
- 已从 Sqlite 下载 sqlite-winrt81-3081002.vsix 下载 页。
- 从 x86 复制 sqlite3.dll。
- 尝试将其粘贴到我的 bin 文件夹以及我的项目 root 并将其内容更改为 总是复制。 ()
- 我的项目针对 x86 而不是 任何 CPU.
尝试了以下建议的解决方案:Sol1, Sol2
我的项目参考:
安装 SQLite Visual Studio Extension 后,您需要在 Windows / Extensions 下的 Reference Manager 中添加对 SQLite for Windows Runtime
的引用。
在 2016 年 3 月更新 Windows 10 和 Visual Studio 2015 后,我遇到了不同类型的错误:我的应用程序在部署到我的桌面时会 运行 正常,但崩溃System.DllNotFoundException(“无法加载 DLL 'sqlite3'”)当部署到我的平板电脑时(即使在使用最新更新更新平板电脑 OS 之后)。所以我解决问题的步骤如下如下:
- 卸载了名为“SQLite for Universal App Platform”的 VS 扩展 (v3.10.2)
- 从我的项目中删除了对此扩展的引用
- 再次安装扩展——除了这次它在在线扩展列表中显示为“SQLite for Universal Windows Platform”(v3.12.1)
- 在我的项目中添加了对此扩展的引用
- (这是重要的部分,我之前不需要这样做):添加了对“Visual C++ 2015 Runtime for Universal Windows Platform Apps”(v14.0) 扩展的引用
直到最后一步才真正解决了问题。