大家好希望有人可以帮助我。
我编写了一个小型WPF应用程序,它读取SQL数据库的密码并在屏幕上显示给用户。它在SQL DB上工作正常,但我们已经改为使用SQLite,虽然它在我的机器上工作正常(我编写了程序)但是当我将.exe文件提供给用户时,程序将崩溃,因为他们点击OpenFileDiaglog()按钮后(这样用户就可以选择数据库来检索密码)
经过一些试验和错误(评论部分代码),当它遇到这一行时似乎会崩溃。
SQLiteConnection Dbcon = new SQLiteConnection("Data Source= " + Myfile);
但是在机器上的事件查看器中,我试图在错误上运行该程序
描述:由于未处理的异常,进程终止 异常信息:System.IO.FileNotFoundException
我曾尝试在几台不同的机器(vista,xp,win 7)上使用.exe文件,所有这些机器都安装了.net framework 4.0。
就像我说的那样,只有当它被移动时,我的机器上的所有工作才会完成。错误会出现。
任何帮助都会被大大加强
答案 0 :(得分:0)
因为yu必须在用户计算机上调整数据库的路径,所以部署时数据源上的路径为
Data Source= Path of your databse
我建议你这个代码
"Data Source=" + System.IO.Path.Combine(System.IO.Path. GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), YourFile)
答案 1 :(得分:0)
同样的问题,但这并没有为我解决。对我来说问题是我的主要应用程序是.net 4而sql lite dll是.net 2所以将useLegacyV2RuntimeActivationPolicy="true"
作为属性添加到app.config中的启动标记。