2017-05-21 32 views
0

我創建了成功構建和發佈的c#應用程序(應用程序使用本地SQLite數據庫)。無法加載SQLite.Interop.dll

情況1(它有效)。當我從文件夾運行.exe文件時,我將Release文件夾複製到客戶機,並且應用程序正常工作。 只需提及,我還將SQLite數據庫文件與Release文件夾一起復制,並在配置文件中設置db文件的新路徑。

場景2(這不起作用)當我發佈應用程序時,由於此錯誤導致安裝過程完成後無法運行它:「無法加載SQLite.Interop.dll」。 我也嘗試在配置文件中設置db文件的新路徑,就像我在場景1中所做的那樣。安裝過程完成後這是否必要?

我的發佈文件夾有兩個子文件夾 - x64和x86,每個文件夾都有SQLite.Interop.dll。但是我在「應用程序」文件的「發佈」文件夾中看不到這些文件夾。我試圖手動將這些文件夾從發佈文件夾複製到發佈文件夾,但它尚未解決我的問題。

有人可以解決這個問題,並解釋我如何強制Visual Studio將SQLite.Interop.dll複製到我的發佈文件夾,因爲它發生在我調試程序時(我猜這是我的問題的原因)?如果有人知道,請詳細解釋一下,因爲我第一次工作。

我用類似的問題檢查了下一個主題,但我無法根據那裏給出的指示來解決這個問題("Unable to load DLL 'SQLite.Interop.dll' error on client machine)。

回答

0

謝謝你的回答。它給了我一個想法如何解決這個問題。我將x86和x 64文件夾複製到輸出文件夾,但後來碰到新問題 - 我的配置文件有一個與清單中指定的不同的計算散列。

我決定擺脫發佈,並決定另一種選擇 - 創建設置文件(https://www.youtube.com/watch?v=z0v6hmumCFU)。創建安裝程序並安裝應用程序後,我手動將x86和x64文件夾複製到應用程序文件夾(安裝應用程序的位置)。最後一步是在應用程序的配置文件中設置SQLite數據庫的新路徑。

1

複製文件夾(x64和x86)到您的項目複製/粘貼 包括他們項目,然後 - >右鍵單擊該文件夾內的項目 - >屬性 - >然後更改複製到輸出 - >複製如果新

enter image description here