【发布时间】: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 不属于程序员的机器。后卫不会打扰你。
标签: compiler-errors windows-10 visual-studio-2017 access-denied bin-folder