很久以前,我用SQLite数据库创建了一个C#WPF应用程序。它工作正常,但我丢失了代码,现在我正在尝试重新创建它。 (我正在添加这个,因为我确实让它在某一点上工作,包括在我和另一台计算机上进行部署。我现在无法让它正常工作。)
这是我的问题:从Visual Studio(2015年,在本例中)启动程序,一切正常,无论是在Debug还是在Release中。
我使用Visual Studio安装创建了一个安装,并在我的开发机器上安装了该程序。当我尝试运行该程序时,它退出时没有错误消息或异常。在输入了许多日志记录后,我发现它总是在这里失败:
this.str_db_path = "DataSource=C:\\ProgramData\\GSS\\Buchhaltung.db;Version=3;";
this.db_connection = new SQLiteConnection(this.str_db_path);
try
{
gLogger.Logger.AddToLog("Test opening.");
this.db_connection.Open(); // fails here
}
catch (Exception ex)
{
gLogger.Logger.AddToLog("Open failed.");
gLogger.Logger.AddToLog(String.Format("Exception: {0}", ex.Message));
}
gLogger.Logger.AddToLog("Test worked. Closing now.");
this.db_connection.Close();
该文件存在,我可以访问它。
我尝试将文件放在不同的地方。我还为db路径尝试了不同版本的字符串(没有Version = 3,w / o分号结尾,没有3)。
如果文件不在指定位置或路径的字符串不正确,我会收到异常。但是,如果文件存在并且路径写入正确,则db_connection.Open()始终会失败而不会抛出异常。
有什么想法吗?