1

我正在使用 C# 并使用 sqlite 并将这些文件与我的程序一起发送

SQLite.Interop.dll System.Data.SQLite.dll

就在 myprogram.exe 旁边

我的程序是这样安装的。

C:\Program Files\MyAPPlication\myprogram.exe

我收到错误报告并崩溃,因为用户计算机正在从该位置使用 SQLite

[System.Data.SQLite] System.Data.SQLite.SQLiteCommand : System.Data.SQLite.SQLiteStatement GetStatement(int ) in 'c:\dev\sqlite\dotnet\System.Data.SQLite\SQLiteCommand.cs' at Line 314, Column 35

我不明白为什么它不使用我随程序打包的版本。

在我的所有代码中,我都这样使用它..

           using (SQLiteConnection sqLconnect = new SQLiteConnection("Data Source=" + Class_GlobalVars.StrDbPath + ";Version=3;PRAGMA journal_mode=OFF;"))
            {
               //code
            }

谁能告诉我为什么 c:\dev\sqlite\dotnet\System.Data.SQLite 被引用?

谢谢,戴夫

4

1 回答 1

1

堆栈跟踪中指定的路径不是找到 dll 的路径,而是编译 dll 的路径。它与部署位置上的路径不匹配(开发中除外)。

提出一个完全例外的新问题以寻求帮助。它不太可能与 SQLite 的位置或版本有关。

于 2013-08-05T02:45:19.547 回答