项目中为了方便的存储本地数据,使用了SQLite数据库作为数据存储,再设计时DB、models引用了sqlite-net-pcl,那么项目再升级sqlite-net-pc 1.7.335l版本后后,遇到了很奇怪的一个问题。

再执行初始化数据库时new SQLiteAsyncConnection(dbPath); 语句无法成功执行。提示Library e_sqlite3 not found。看到这个错误时开始观察并分析问题:

1、升级后启动程序目录下确实没有了e_sqlite3.dll,尝试拷贝了e_sqlite3 同样无法正常执行代码。

2、因为2个程序集同时使用了sqlite-net-pcl。怀疑是因为设计时把2个程序集同时引用sqlite-net-pcl导致的问题。

开始第一轮搜索百度和必应。并没有搜到能解决问题答案。

针对第一个问题尝试拷贝e_sqlite3.dll和百度和biying的结果都无法解决时,就开始尝试自己写DEMO复现并解决该问题。我把解决方案为了UI的应用程序、DB程序集、只有这2个工程,只包含初始化sqlite代码。并尝试在DB程序集安装sql-net-pcl。并进行升级操作,发现同样有问题。

然后尝试使用Github上的Sqlite上开源的代码,但是依然会出现这个BUG。issues中也寻找到了类似的问题。但是没有提供解决方案,最终在stack overflow上搜到了一个解决办法。

我尝试在启动的工程添加了sqlite-net-pcl。发现解决了这个问题。但是完全没有必要再启动的工程中添加sqlite-net-pcl,虽然解决了这个问题。但是再issues中提出了针对这个问题的疑问。如果后续作者有更新,我会把原因更新到博客中。

我创建了一个C#相关的交流群。用于分享学习资料和讨论问题。欢迎有兴趣的小伙伴:QQ群:542633085

最新文章

  1. listview侧滑删除
  2. C语言 关于内存动态分配问题
  3. swift中Range的使用书名
  4. .htacess的url重写(支持伪静态)
  5. matlab jet color mapping C / C++ / VC 实现
  6. 【C#进阶系列】01 CLR的执行模型——一个Hello World的故事
  7. ubuntu16.04安装eclipse
  8. web app 自适应 弹性布局之rem
  9. 版本控制:SVN中Branch/tag的使用 -摘自网络
  10. TC SRM 605
  11. 基于嵌入式的c语言连接器
  12. GitHub 小试
  13. nodejs 计算内存使用率
  14. 基于binlog来分析mysql的行记录修改情况(python脚本分析)
  15. 【小练习06】HTML+CSS--教学大讲堂
  16. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
  17. Bootstarp的安装以及简单的使用方法(pycharm中)
  18. lock(this)
  19. python3编写网络爬虫20-pyspider框架的使用
  20. eclipse如何以指定JDK启动

热门文章

  1. react-redux 源码浅析
  2. 记go中一次http超时引发的事故
  3. 支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!
  4. RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
  5. Raft: 一点阅读笔记
  6. Jmeter- 笔记1 - 理论知识
  7. 改进遗传算法之CHC算法简要介绍
  8. Pptx的形状转为WPF的Geometry
  9. MindSpore接口mindspore::api
  10. 笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞 练习