便携式DLL中的Windows Universal App SQLite

时间:2015-03-02 16:18:45

标签: windows-phone-8.1 win-universal-app

我的项目结构定义如下:

  • LIB Com基本通信,(请求和响应)
  • LIB Com.BackgroundTask后台任务,将从服务器
  • 获取新消息
  • LIB Com.Mediator背景逻辑,将处理Com与ViewModel之间的每次信息交换和交互
  • LIB为项目建模所有模型,也应在此处定义数据库。
  • LIB设置应用设置。
  • 适用于Windows的Windows应用视图/控件
  • 适用于Windows Phone的Windows Phone应用程序视图/控件
  • 共享基本应用程序逻辑,Mediator init,ViewModels

问题是你不能在(便携式)LIB模型中引用SQLLite扩展,但这对于项目结构的工作至关重要。否则BackgroundTask永远无法更新数据库,对不对?

1 个答案:

答案 0 :(得分:1)

您可以使用Portable Class Library for SQLite在便携式类库项目中引用SQLite。该项目由Microsoft Open Technologies,Inc。与社区合作发起。

  

这个SQLite的可移植类库可以作为NuGet包使用   简化了.NET的安装和开发体验   开发人员通过提供跨Windows Phone的单一界面,   Windows应用商店和.NET Framework 4.5。

     

借助此解决方案,.NET开发人员可以针对一个便携式设备进   类库,不必担心加载了哪个程序集。

缺点:目前不支持定位x64平台架构。

支持的目标:x86和AnyCPU(标记为“Prefer 32-bit”选项。)

<强>先决条件:

1)开发人员访问http://sqlite.org/download.html,并为Windows v3.8.5(http://sqlite.org/2014/sqlite-dll-win32-x86-3080500.zip)下载所需的预编译二进制文件,提取sqlite3.dll文件,并将其作为Copy-Always Content添加到项目的根文件夹。

2)在Visual Studio中,开发人员使用NuGet Packet Manager控制台安装SQLitePCL包装程序包。 在程序包管理器控制台中,键入:Install-Package SQLitePCL