无法将文件 obj\Debug 复制到 bin\Debug 对路径 bin\Debug\ 的访问被拒绝

Posted

技术标签:

【中文标题】无法将文件 obj\\Debug 复制到 bin\\Debug 对路径 bin\\Debug\\ 的访问被拒绝【英文标题】:Unable to copy file obj\Debug to bin\Debug Access to the path bin\Debug\ is denied无法将文件 obj\Debug 复制到 bin\Debug 对路径 bin\Debug\ 的访问被拒绝 【发布时间】:2018-03-22 23:49:39 【问题描述】:

我创建了简单的 wpf 应用程序 (WpfApp1)。 我运行它,一切正常。 然后我尝试重建解决方案并收到错误。

错误:无法将文件“obj\Debug\WpfApp1.exe”复制到“bin\Debug\WpfApp1.exe”。拒绝访问路径“bin\Debug\WpfApp1.exe”。

我重新启动了 VS,清理并重建了解决方案,通过“句柄”检查是否有任何东西阻塞了 WpfApp1.exe 文件 (句柄“pathToTheFile\WpfApp1.exe”

结果: Nhandle v4.1 - 句柄查看器 版权所有 (C) 1997-2016 Mark Russinovich Sysinternals - www.sysinternals.com

找不到匹配的句柄。)

我通过右键单击文件夹 -> 属性 -> 安全性(第三个选项卡)检查了对该文件夹的权限。我以具有管理员权限的本地帐户登录,并且可以在 \bin 文件夹中创建、重命名等其他文件,但我无法对 WpfApp1.exe 文件执行任何操作。我也以管理员身份运行 VS 并尝试执行相同操作,但出现了错误。

我工作:win10 home,visual studio 2017 社区(15.4.0)

编辑: 修复和重新安装 VS 没有帮助。

重建过程后,\bin 中的 .exe 文件被设置为已删除,但不知何故,该文件仍以“幽灵”文件的形式存在于光盘上。在那一刻,操作系统更改了文件的访问权限,并且该文件的所有者未知(由于缺乏权限,我看不到它。在重建过程之前,我拥有对文件的完全访问权限。)如果我重新启动操作系统,然后删除文件的过程完成,文件不再存在。

【问题讨论】:

您是否退出/停止了先前运行的进程?如果一个程序作为进程运行,它实际上是打开的,不能被删除或写入,但它不会显示为“句柄”。 禁用已安装的反恶意软件产品,然后重试。 @HansPassant 我只安装了 McAfee 和 Windows Defender。 @dave_thompson_085 我已经重新启动了操作系统,它暂时解决了一个问题。但是我以同样的方式创建了另一个应用程序(WpfApp2),问题又回来了。我的第一步是运行应用程序,然后我通过关闭 Wpf 窗口或单击 VS 下的红色方块来停止它(我都做了)。我不知道这是否会停止先前运行的进程。 McAfee 不属于程序员的机器。后卫不会打扰你。 【参考方案1】:

我有那个错误,它无法复制它,其他时候说它无法删除它。 (请记住,obj\debug\blah.exebin\debug\blah.exe 可能同时适用于这两个问题)

我认为发生的事情是 Visual Studio 首先尝试删除它(它们),如果成功(或者如果它已经被删除),那么它会尝试复制它。

您可以尝试自己删除它,然后您会发现删除它存在一些问题。因此您可以尝试关闭资源管理器窗口,并使用例如解锁器和文件管理器。我想你会发现锁定它的可能不是视觉工作室。当我尝试关闭 Visual Studio 时,我仍然无法删除该文件,因此我可以看到 Visual Studio 删除该文件时会出现问题!

假设您设法删除它,以便 Visual Studio 可以管理它或不需要它。所以现在出现了无法复制文件的错误。我看到您检查了目录的权限..那很好如果您发现无法写入目录的错误,则可能是权限问题,或者磁盘空间不足!尽管我在您的情况下看到它是一种锁定文件的防病毒软件,而您用来检查句柄的程序却没有发现它。但是这个答案显示了其他一些可能对遇到问题的其他人有帮助的原因和方法。

已添加

另一个原因是某些反恶意软件的已知问题,例如恶意软件字节,请参阅here。您可以转到右下角的托盘图标并将鼠标悬停在它们上面以查看它们是什么,看看是否有任何反恶意软件正在运行。如果是,请尝试退出,看看是否有帮助。

在构建项目时,另一个可能影响 Visual Studio 的原因是 Windows 7/8/10 中的“应用程序体验”服务,显然应该启动。显然,对于许多人来说,它已经“停止”了。 Windows 2008 R2 - Kernel (System Process PID=4) is locking files and folders

【讨论】:

【参考方案2】:

@HansPassant 你关于迈克菲的线索是正确的。只有也需要重新启动操作系统。

【讨论】:

以上是关于无法将文件 obj\Debug 复制到 bin\Debug 对路径 bin\Debug\ 的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

发布项目时无法读取状态文件“obj\Debug\Helpers.csprojResolveAssemblyReference.cache”错误

什么是obj / Debug / netcoreapp2.1 / Razor文件夹?

Visual Studio 编译,但 exe 不存在

Visual Studio 2017 - Xamarin - 文件“obj\Debug\android\bin\packaged_resources”不存在

在 Visual Studio 中发布错误

App.config 和 F# Interactive 不工作