在Windows Phone 8.1应用程序

时间:2017-05-17 14:03:41

标签: sqlite xamarin windows-phone-8.1

我正在使用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

Reference manager screenshot

NuGet screenshot

enter image description here

如果我将目标平台更改为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

1 个答案:

答案 0 :(得分:0)

解决方案:您可以使用Oustein Krog,Frank Krueger,Tim Heuer的SQLite.Net-PCL代替sqlite-net-pcl

集合的创建将如下所示:

this.database = new SQLiteConnection(databaseFilename);