我是一名帮助翻译的助手。
我有一个Xamarin Forms解决方案。我将sqlite-net-pcl添加为所有项目的参考。它在Android上运行良好,但在Windows 8.1和Windows Phone 8.1上崩溃。我有一个IOS项目,但目前没有OSX来尝试它。
我在Windows项目中使用这个来访问数据库:
using System.IO;
using SQLite;
using Xamarin.Forms;
using HelloXamarin.Windows;
using Windows.Storage;
[assembly: Dependency(typeof(SQLiteDb))]
namespace HelloXamarin.Windows
{
public class SQLiteDb : ISQLiteDb
{
public SQLiteAsyncConnection GetConnection(string databaseName)
{
var documentsPath = ApplicationData.Current.LocalFolder.Path;
var path = Path.Combine(documentsPath, databaseName);
return new SQLiteAsyncConnection(path);
}
}
}
这是我的参考资料:
当我尝试访问数据库时,出现以下异常:
类型“SQLite.SQLiteConnection”的初始值设定项引发了异常。
无法加载 DLL“e_sqlite3”:找不到指定的模块。(HRESULT 异常:0x8007007E)
- 位于 SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.sqlite3_win32_set_directory(UInt32 directoryType, String directoryPath)
- 位于 SQLitePCL.SQLite3Provider_e_sqlite3..ctor()
- 位于 SQLitePCL.Batteries_V2.Init() 位置: SQLite.SQLiteConnection..cctor()
我不知道如何解决这个问题,请帮帮我!
整个解决方案可以在 GitHub 上找到: https://github.com/apspot/HelloXamarin