文件已被Visual Studio 2019锁定

时间:2019-07-03 09:27:25

标签: c# visual-studio visual-studio-2019 locked-files

我在Visual Studio中遇到一个奇怪的问题:

如果在调试过程中引发了未处理的异常,我将无法构建我的 C#应用程序:

Unable to copy file "C:\Projects\A\bin\A.dll" to "..\..\bin\A.dll". The process cannot access the file '..\..\bin\A.dll' because it is being used by another process.
Could not copy "C:\Projects\A\bin\A.dll" to "..\..\bin\A.dll". Exceeded retry count of 10. Failed. The file is locked by: "Microsoft Visual Studio 2019 (14904)"

是否存在解决此奇怪错误的永久解决方案? (我唯一的解决方法是当前重新启动Visual Studio)

我尝试过但对我没有用的东西

  • VS菜单->工具->选项->项目和解决方案->构建并运行->并将“设置并行构建的最大数量”设置为1。
  • 停止防病毒
  • 启用应用程序体验服务(在Windows 10中找不到)
  • 取消选中VS菜单->工具->选项->项目和解决方案->常规->允许并行项目初始化
  • 取消调试->选项->调试->常规->一个进程中断时中断所有进程

在我的所有项目中插入预构建事件脚本也是不切实际的!链接:https://blog.ndepend.com/visual-studio-script-saves-time-pain/

有人可以解决这个问题吗?

7 个答案:

答案 0 :(得分:2)

有点奇怪,但是问题是由调试选项Use Managed Compatibility Mode引起的!因此,只需取消勾选Debug-> Options-> Use Managed Compatibility Mode,Visual Studio就不会再出现文件锁定错误!

备注:禁用此选项的不足之处是,您会因为VS而烦恼,耗时且耗时长! (More information

答案 1 :(得分:2)

对我有用的方法-关闭解决方案,删除bin和obj文件夹,重新打开并构建。

答案 2 :(得分:0)

对我来说,删除obj和bin文件夹是不可能的,因此我必须安装Microsoft的Process Explorer才能找到仍在运行的应用程序dll进程。杀死这个过程对我有用。

答案 3 :(得分:0)

这有点愚蠢,但是: 在“进程”选项卡的Windows任务管理器中,只需找到Microsoft Visual Studio <2019>,单击“ ^”以折叠它的子树,然后找到“ Microsoft Visual Studio XAML设计器” 选择“ Microsoft Visual Studio XAML设计器”,然后在每次调试之前简单地对其进行结束处理。

答案 4 :(得分:0)

删除对我来说是不可能的,但结果是 VS2019 保留了一个正在运行的软件的调试版本,当我停止调试时,该版本不会自动关闭。在任务管理器 -> 关闭正在运行的应用程序,我可以再次开始构建/调试。

答案 5 :(得分:0)

我在 VS2019 的 WinForms 项目中遇到过这种情况,在该项目中,其他建议的解决方案均无效,并且 O/S 拒绝退出 VS 并尝试删除受影响的文件,但仍声称文件已打开。< /p>

在这种情况下,在这里起作用的修复是转到任务管理器,并找到并终止 VBCSCompiler 的副本,即使在 VS 终止后,该副本仍在运行。它显示在“后台进程”下。

在那之后,再次启动 VS 工作正常。

答案 6 :(得分:0)

在我的情况下简单修复。当我尝试再次运行应用程序并出现此错误时,我的应用程序已经在运行。关闭它解决了我的问题。