关于Dapper调用时报“连接数据库 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”的错误,有关SQLite.Interop.dll以及System.Data.SQLite.dll

我在使用Dapper以及Dapper.Contrib对本地sqlite的文件访问的时候

涉及调用两个dll文件

SQLite.Interop.dll

System.Data.SQLite.dll

上述两个dll有所关联   其版本在nuget下载sqlite库时是同步的;

两个文件的版本需要又一定要求

若出现 SQLite.Interop.dll 低于 System.Data.SQLite.dll 版本的时候就有报错:

“连接数据库 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

通常是由于dapper.contrib社区维护的C++代码版本代差导致的内存异步访问问题;

建议 System.Data.SQLite.dll 使用1.0.109.0版本

同时 SQLite.Interop.dll 使用1.0.115.5版本

由此可避免上述C++库内部的问题;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值