【问题标题】:Unable to Load SQLite.Interop.dll无法加载 SQLite.Interop.dll
【发布时间】:2017-05-21 00:15:24
【问题描述】:

我创建了成功构建和发布的 c# 应用程序(该应用程序使用本地 SQLite 数据库)。

场景 1(有效)。我将 Release 文件夹复制到客户端的机器上,当我从文件夹中运行 .exe 文件时,应用程序可以正常工作。 顺便提一下,我还复制了 SQLite 数据库文件和 Release 文件夹,并在配置文件中设置了 db 文件的新路径。

场景 2(这不起作用)当我发布应用程序时,由于以下错误,我无法在安装过程完成后运行它:“无法加载 SQLite.Interop.dll”。 我还尝试像在场景 1 中那样在配置文件中设置 db 文件的新路径。设置过程完成后是否有必要这样做?

我的 Release 文件夹有两个子文件夹 - x64 和 x86,每个子文件夹中都有 SQLite.Interop.dll。但是我在 Applications 文件的 Publish 文件夹中看不到这些文件夹。我尝试手动将这些文件夹从 Release 文件夹复制到 Publish 文件夹,但它没有解决我的问题。

有人可以解决这个问题并解释我如何强制 Visual Studio 将 SQLite.Interop.dll 复制到我的 Publish 文件夹中,因为它在我调试程序时发生(我想这是我的问题的原因)?如果有人知道,请详细解释一下,因为我是第一次工作。

我用类似的问题检查了下一个主题,但我无法根据那里给出的说明解决这个问题 ("Unable to load DLL 'SQLite.Interop.dll' error on client machine)。

【问题讨论】:

    标签: c# visual-studio dll sqlite


    【解决方案1】:

    将文件夹(x64 和 x86)复制到您的项目中复制/粘贴 然后将它们包含到项目中 - >右键单击文件夹内的项目 -> 属性 -> 然后将复制更改为输出 -> 如果更新则复制

    enter image description here

    【讨论】:

      【解决方案2】:

      感谢您的回答。它让我知道如何解决这个问题。我将 x86 和 x 64 文件夹复制到输出文件夹,但随后遇到了新问题 - 我的配置文件的计算哈希值与清单中指定的不同。

      我决定放弃发布并决定另一种选择 - 创建安装文件 (https://www.youtube.com/watch?v=z0v6hmumCFU)。创建设置并安装应用程序后,我手动将 x86 和 x64 文件夹复制到应用程序文件夹(安装应用程序的位置)。最后一步是在应用程序的配置文件中设置 SQLite 数据库的新路径。

      【讨论】:

        猜你喜欢
        • 2018-10-17
        • 2012-10-13
        • 2018-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多