我遇到了一个非常罕见的问题,它只发生在 Windows 7 操作系统上。
每次我通过资源管理器删除带有 *.exe 扩展名的文件时,该文件都不会立即被删除。我不得不等待大约一到两分钟,系统才会删除该文件。主要问题是我无法在这种情况下进行开发,因为每次我构建解决方案时,旧的可执行文件都会被“删除”,但仍然存在。因此,Visual Studio 无法创建新的可执行文件。这个问题也会破坏 Steam 更新进度和其他一些安装程序的功能。
全新安装的 Win7 不会出现这种问题,所以我猜测这一定是某些错误的注册表项或某些服务。
在网上浏览解决方案我只找到了这个: http://www.sevenforums.com/software/72091-several-minute-delay-when-deleting-any-exe-file.html。但作者找到的解决方案不起作用(更改用户名:))。
有什么想法可以找到导致这种情况发生的原因吗?
顺便说一句:当我将文件放入垃圾箱时,没有出现延迟。当我使用 Total Commander 删除文件时 - 也没有延迟。
技术细节:Windows 7 x64 Ultimate。
更新:也许某些影子复制或系统还原服务(尽管我已关闭系统还原)阻止了这些文件?猜也猜不出来……
答案1
GregoryM,我也遇到了这个问题。
有一段时间,当编译器无法替换 project.exe 时,我会使用在 Debug 和 Release 之间来回切换的 hack 方法。受够了这种方法的荒谬性,我在 Google 上搜索了这个问题,偶然发现了您的帖子。按照您的 sevenforums.com 链接,我决定尝试上一篇帖子中列出的答案(启用应用程序体验和程序兼容性助手),结果它真的起作用了。
PCA 已在我的系统上启用并运行,但 AE 未启用;启用 AE 并启动服务后,我能够连续 30 次在调试模式下运行并退出我的程序,没有任何问题。我还测试了在执行之间对程序进行微小、快速的更改(就像我一直做的那样,尝试为基于控制台的图形找到一个好的 x/y 大小),从那以后我再也没有遇到过这种延迟删除的情况。
也许这也是你的问题的根源。希望这能有所帮助。
答案2
您是否曾使用过注册表黑客技术来完全删除资源管理器中显示的库功能?
如果是这样,请尝试从这里恢复库注册表脚本: http://media.askvg.com/downloads/2009/09/Disable%20Libraries%20in%20Windows%207.zip
这似乎是一个奇怪的建议,但我遇到了同样的问题,并且注意到当我执行删除库模式后,它在全新安装 Win7 后又回来了。
答案3
看起来是 explorer 或 iexplorer (IE) 插件搞乱了。也许是这个有问题的插件与你的杀毒软件冲突了?试着关闭杀毒软件,看看是否有任何不同。此外,当你等待 2 分钟删除时,请像鹰一样观察你的任务管理器(如果需要,可以使用额外的 IO 列);它可能会揭示一些线索?
答案4
我遇到了同样的问题,我用前一天备份的应用程序版本替换了 bin 文件夹,问题就解决了。如果您仍然遇到问题,请尝试对 (obj\debug) 文件夹执行相同操作