.Net Framwork4.0
使用System.Data.SQLite 的Nuget的引用包,直接运行操作SqlLite的代码报错如下:
2022-07-18 17:41:07 System.DllNotFoundException: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
在 System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum op)
在 System.Data.SQLite.SQLite3.StaticIsInitialized()
在 System.Data.SQLite.SQLiteLog.PrivateInitialize(String className)
在 System.Data.SQLite.SQLiteLog.Initialize(String className)
在 System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
在 des.lib.db.DbProvider..ctor(ILogger`1 logger) 位置 E:\code\git\hy\des2\des.master\des.lib.db\DbProvider.cs:行号 43
网上搜索的大部分解决方案是把SQLite.Interop.dll复制到Bin目录下来解决,不可否认这是可行的,但是我们的编写的程序是Any CPU的,也就是SQLite.Interop.dll无法只用x86的,或者只用x64的。感觉并不是一个很好的解决办法,经常自己的尝试终于找一个完美的方法,当运行的是64模式时适配64的SQLite.Interop.dll,当运行的是32位模式时适配32位的SQLite.Interop.dll。
方法如下: 捐赠查看更多内容
💰 此内容为付费阅读 请先登录