代码之家  ›  专栏  ›  技术社区  ›  Bromo Programmer

以uwp形式运行wpf时找不到system.data.sqlite dll

  •  0
  • Bromo Programmer  · 技术社区  · 6 年前

    我计划将我的WPF应用程序发布到Microsoft Store。 所以我跟着这个 LINK 打包我的应用程序。

    在访问中 数据库 我正在使用DB 系统.data.sqlite 由sqlite dev团队开发的lib。

    当我以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)
    

    我怎么修这个?

    注意:我设法创建了数据库文件,但是当我想创建teble时,上面的错误出现了。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Martin Zikmund    6 年前

    尝试引用 System.Data.SQLite Nuget的包:

    Install-Package Microsoft.Data.SQLite -Version 2.1.0
    

    或者使用 Nuget包管理器用户界面 在Visual Studio中(右键单击项目,选择 管理解决方案的Nuget包… 寻找 Microsoft.Data.SQLite .

    如果没有帮助,请尝试遵循 使用本机库预加载 部分 in the SQLite docs 尽管我不认为这是必要的。

        2
  •  0
  •   Bromo Programmer    6 年前

    最后,我可以在遵循这一点之后让它工作 thread . 我所能做的就是创建2个x86和x64文件夹,添加sqlite.interop.dll并将其设置为始终复制。 即使是你,我也不确定这是否可以通过微软商店发行。我仍然需要调查。