C#在项目中使用SQlite在用户计算机上使用不同的版本?

时间:2013-08-05 00:29:35

标签: c# winforms sqlite

我正在使用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被引用?

谢谢, 戴夫

1 个答案:

答案 0 :(得分:1)

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

在您的完整例外情况下提出一个新问题以寻求帮助。它可能与SQLite的位置或版本无关。