WPF项目升级sqlite-net-pcl时遇到Library e_sqlite3 not found的问题解决办法记录
项目中为了方便的存储本地数据,使用了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
最新文章
- listview侧滑删除
- C语言 关于内存动态分配问题
- swift中Range的使用书名
- .htacess的url重写(支持伪静态)
- matlab jet color mapping C / C++ / VC 实现
- 【C#进阶系列】01 CLR的执行模型——一个Hello World的故事
- ubuntu16.04安装eclipse
- web app 自适应 弹性布局之rem
- 版本控制:SVN中Branch/tag的使用 -摘自网络
- TC SRM 605
- 基于嵌入式的c语言连接器
- GitHub 小试
- nodejs 计算内存使用率
- 基于binlog来分析mysql的行记录修改情况(python脚本分析)
- 【小练习06】HTML+CSS--教学大讲堂
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
- Bootstarp的安装以及简单的使用方法(pycharm中)
- lock(this)
- python3编写网络爬虫20-pyspider框架的使用
- eclipse如何以指定JDK启动
热门文章
- react-redux 源码浅析
- 记go中一次http超时引发的事故
- 支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!
- RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
- Raft: 一点阅读笔记
- Jmeter- 笔记1 - 理论知识
- 改进遗传算法之CHC算法简要介绍
- Pptx的形状转为WPF的Geometry
- MindSpore接口mindspore::api
- 笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞 练习