我正在使用 Nuget 包System.Data.SQLite
在 MVC Web 应用程序中。当我尝试清理解决方案并重建时,似乎存在锁定问题。我收到的错误消息是:Unable to delete file "bin\x64\SQLite.Interop.dll". Access to the path '\bin\x64\SQLite.Interop.dll' is denied.
我认为数据库要么仍然打开,要么 .dll 仍在使用,但我找不到任何文档或对同一问题的任何引用。这question https://stackoverflow.com/questions/13028069/unable-to-load-dll-sqlite-interop-dll似乎是一个类似的问题,但没有为我的问题提供解决方案。
这是我用来写入 SQLite 数据库的代码片段:
var conn = new SQLiteConnection("Data Source=" + connectionString);
conn.Open();
var debugEntriesTableQuery = "CREATE TABLE ...";
var cmd = conn.CreateCommand();
cmd.CommandText = debugEntriesTableQuery;
cmd.ExecuteNonQuery();
conn.Close();
是否还需要执行另一个步骤来正确关闭与数据库的连接并通知 dll 连接已关闭?
我在已添加到 nuget 包中的数据解决方案中使用此代码,并在另一个解决方案中使用。我仅在构建/清理使用我的 nuget 包的解决方案时遇到此问题。
正如 Eric 指向的链接所指出的,终止 IIS Express 进程为我解决了这个错误。我正在使用 Visual Studio 2015 社区。我从任务栏退出 IIS Express 进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)