繁体   English   中英

文件被 Visual Studio 2019 锁定

[英]File is locked by Visual Studio 2019

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

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

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

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

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

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

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

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

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

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

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

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

删除也对我有用,但只有在我从 taskmgr 强制退出 DTSDebugHost 以供其他任何无法使其工作的人之后。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM