我在带有最新更新的 Windows 10 Home 上使用 Visual Studio 2017 开发软件。当我的应用程序抛出异常时,根据 Windows 的可执行文件会自行保持打开状态。当我(或 Visual Studio)尝试删除(用新建的可执行文件覆盖它)时,Windows 说 test.exe 由 test.exe 打开,即使 test.exe 没有运行并且没有其他进程具有test.exe 的句柄(通过运行 Sysinternals handle.exe 工具验证)。处理此问题的唯一方法是重新启动 Windows 或注销并重新登录。
test.exe 使用 test.dll。如果异常发生在 test.dll 代码中,则 test.dll 将保持锁定直到重新启动。
我以前使用相同操作系统的旧笔记本电脑上没有这个问题,而我的 Windows 10 Pro 工作笔记本电脑上也没有这个问题。
.net 应用程序是一个用 c# 编写的控制台。代码的内容无关紧要,只要一行就可以产生任何异常。如果我从资源管理器运行二进制文件,我不会遇到这个问题,只有当我从命令行运行它时。如果我在点击“调试”或“关闭”按钮之前在 sysinternals 进程资源管理器中杀死了我的 test.exe 进程的主线程 test.exe,那么我可以毫无问题地删除该文件。
它看起来像一个 Windows 错误,但为什么我的旧笔记本电脑和工作笔记本电脑中没有它?
我想知道是否有其他人遇到过同样的问题?或者如果有人知道如何解决它甚至更好。
非常感谢!