将WPF作为UWP运行时找不到System.Data.SQLite dll

时间:2018-11-20 10:09:27

标签: c# wpf sqlite uwp

我打算将WPF应用程序发布到Microsoft Store。 因此,我遵循此LINK打包我的应用。

在访问 SQLite 数据库时,我正在使用SQLite开发团队开发的 System.Data.SQLite 库。

当我将应用程序作为WPF执行时,一切正常,但是当我将应用程序作为UWP执行时,会引发错误:

System.DllNotFoundException: Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum op)
at System.Data.SQLite.SQLite3.StaticIsInitialized()
at System.Data.SQLite.SQLiteLog.Initialize(String className)
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString)
at eComEasy.Lib.Helper.LibUtility.InitiateDbSchema(String connString, String[] names)

我该如何解决?

注意:我设法创建db文件,但是当我想创建teble时,出现了上述错误。

2 个答案:

答案 0 :(得分:0)

尝试从NuGet引用System.Data.SQLite软件包:

Install-Package Microsoft.Data.SQLite -Version 2.1.0

或在Visual Studio中使用 NuGet软件包管理器UI (右键单击该项目,选择管理NuGet软件包以获取解决方案... ,然后搜索Microsoft.Data.SQLite

如果我不希望尝试遵循使用本机库预加载部分in the SQLite docs,尽管我认为这样做不是必需的。

答案 1 :(得分:0)

最后,我可以按照thread进行操作。我所能做的就是创建2个x86和x64文件夹,添加SQLite.Interop.dll并将其设置为Copy Always。 即使您不确定我是否可以通过Microsoft Store分发它。我仍然需要调查。