我正在使用Xamarin Forms开发应用程序。我需要数据库,所以我通过NuGet包管理器安装Frank A.Krueger的sqlite-net-pcl
。我试图在PCL项目中获得连接:
ISQLiteHelper sqlLiteHelper = DependencyService.Get<ISQLiteHelper>();
string pathToDatabaseFile = sqlLiteHelper.GetLocalDatabaseFilePath(databaseFilename);
this.database = new SQLiteConnection(pathToDatabaseFile);
但我有一个例外。
“无法加载DLL'e_sqlite3':指定的模块不能 找到。 (HRESULT异常:0x8007007E)“
我接下来给出了一些答案并下载并安装了sqlite-wp81-winrt-3180000.vsix
。我将以下引用添加到我的WinPhone 8.1项目中:Reference Manager - &gt; Windows Phone 8.1 - &gt;扩展程序 - &gt; SQLite for Windows 8.1但它没有帮助我。我得到了同样的错误。
我将目标平台更改为x86。对于任何CPU,我收到错误:
引用的SDK“Microsoft.VCLibs”不支持“任何CPU”, 版本= 12.0“。请考虑更改目标处理器 您的项目的体系结构(在Visual Studio中,这可以完成 通过Configuration Manager)到其中一个架构 SDK支持:“x86,ARM”。 App1.WinPhone
如果我将目标平台更改为x64,就像我的PC一样,那就出现了错误。
引用的SDK“Microsoft.VCLibs”不支持“X64”, 版本= 12.0“。请考虑更改目标处理器 您的项目的体系结构(在Visual Studio中,这可以完成 通过Configuration Manager)到其中一个架构 SDK支持:“x86,ARM”。 App1.WinPhone
引用的SDK“SQLite.WP81”不支持“X64”, 版本= 3.18.0“。请考虑更改目标处理器 您的项目的体系结构(在Visual Studio中,这可以完成 通过Configuration Manager)到其中一个架构 SDK支持:“x86,ARM”。 App1.WinPhone
答案 0 :(得分:0)
解决方案:您可以使用Oustein Krog,Frank Krueger,Tim Heuer的SQLite.Net-PCL
代替sqlite-net-pcl
。
集合的创建将如下所示:
this.database = new SQLiteConnection(databaseFilename);