System.Data.SQLite Close()不释放数据库文件
我在尝试删除文件之前关闭数据库时遇到问题。代码只是 myconnection.Close(); File.Delete(filename); 并且Delete引发一个例外,表明该文件仍在使用中。几分钟后,我在调试器中重新尝试了Delete(),所以这不是时间问题。 我有交易代码,但是在Close()调用之前根本没有运行。因此,我相当确定这不是公开交易。打开和关闭之间的sql命令只是选择。 ProcMon显示我的程序和我的防病毒软件正在查看数据库文件。它没有显示我的程序在close()之后释放db文件。 Visual Studio 2010,C#,System.Data.SQLite版本1.0.77.0,Win7 我看到了一个类似两年的错误,但变更日志说它已修复。 还有什么我可以检查的吗?有没有办法获取任何打开的命令或事务的列表? 新的工作代码: db.Close(); GC.Collect(); // yes, really release the db bool worked = false; int tries = 1; while ((tries < 4) && (!worked)) { try { Thread.Sleep(tries * 100); File.Delete(filename); worked = true; } catch (IOException e) // delete …