7

我在 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/

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

4

8 回答 8

14

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

于 2019-10-14T15:05:05.793 回答
6

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

备注:禁用此选项的缺点是您会收到烦人的长时间耗时 VS 的评估错误!(更多信息

于 2019-07-22T07:10:03.353 回答
1

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

于 2020-07-24T07:50:11.650 回答
0

在构建之前运行清理或使用重建选项。VS会很好地构建它。有点慢,但它每次都有效。无需重启 VS。

于 2021-10-19T22:38:07.863 回答
0

我在 VS2019 的一个 WinForms 项目中遇到了这个问题,其他建议的解决方案都没有奏效,并且退出 VS 并尝试删除受影响的文件被仍然声称文件已打开的操作系统拒绝。

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

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

于 2021-04-22T14:26:52.160 回答
0

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

于 2020-11-07T08:16:04.700 回答
0

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

于 2021-01-04T09:42:34.897 回答
-1

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

于 2021-06-07T18:34:53.863 回答