【问题标题】:Unable to delete file "....\SQL.Interop.dll". Access to the path '....\SQLite.Interop.dll' is denied. when trying to clean solution无法删除文件“....\SQL.Interop.dll”。拒绝访问路径“....\SQLite.Interop.dll”。尝试清洁溶液时
【发布时间】:2017-04-24 14:52:29
【问题描述】:

我在 MVC 桌面应用程序中使用 Nuget 包 System.Data.SQLite。当我尝试清理解决方案时出现错误。我收到的错误消息是:无法删除文件“...bin\Debug\x64\SQLite.Interop.dll”。拒绝访问路径“\bin\Debug\x64\SQLite.Interop.dll”。

这与here 提出的问题几乎相同,但因为我刚刚创建了我的 SO 帐户,所以我无法在此处添加我的评论。

我在我的数据库项目中使用 NuGet 包 System.Data.SQLite 和 System.Data.SQLite.Core,在我的 UI 项目中使用 System.Data.SQLite.Core。

我按照answers 之一的建议创建了一个终止 IIS 进程的按钮,但由于我无法构建我的项目,我无法测试它是否有效。

我昨天能够很好地清理/构建。不知道反复调试是否造成了这个问题。

【问题讨论】:

  • This 没用?
  • @DanielShillcock 不,它没有。但是 Scott Chamberlain 在下面的回答帮助我找到了使用 dll 的进程,并且我能够杀死该进程。

标签: c# asp.net visual-studio sqlite dll


【解决方案1】:

某些东西有一个打开的 DLL 的句柄,如果不是 IIS Express,它就是别的东西。当我遇到这种情况时,我会使用 Microsoft 的 Process Explorer 并单击搜索按钮并搜索文件的路径。然后我可以在 Process explorer 中单击搜索结果并结束任务。

这是一个搜索打开文件c:\agent\bin\clrjit.dll的人的示例。

然后我可以右键单击 Agent.Listener.exe 并执行“终止进程”

对于您的情况,您可以搜索 bin\Debug\x64\SQLite.Interop.dll

【讨论】:

  • Scott Chamberlain:Process Explorer 帮助我找到了罪魁祸首。不知何故,我有一个桌面应用程序实例,它在后台运行而没有明显打开。谢谢!我赞成您的回答,但由于我的新身份,它没有显示。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2015-03-19
  • 2016-12-16
  • 2016-04-05
  • 2020-03-05
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多