[英]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)
我尝试过但对我不起作用的方法:
在我的所有项目中插入预构建事件脚本也是不切实际的! 链接: 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.