我打算将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时,出现了上述错误。
答案 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分发它。我仍然需要调查。