gpt4 book ai didi

c# - FileSystemWatcher 锁定文件夹

转载 作者:太空狗 更新时间:2023-10-29 23:14:15 25 4
gpt4 key购买 nike

我有一个 FileSystemWatcher 监听一个文件夹。当我尝试重命名此文件夹(在 Windows 资源管理器中)时,我得到一个

The action can't be completed because the folder or a file in it is open in another program

错误。

注释掉 FileSystemWatcher 调用可以修复此问题。

我试过用一个简单的程序重现错误,但没有成功,所以我不确定这里发生了什么。有没有人在 FileSystemWatcher 中遇到过这样的事情?如果是这样 - 可能是什么原因造成的?

更多信息:

以下似乎足以导致错误:

FileSystemWatcher fsw = new FileSystemWatcher(path);
fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
fsw.EnableRaisingEvents = true;

可以重命名该文件夹中的文件。和兄弟文件。我什至尝试将 return; 作为 fsw_Deleted 的第一行。仍然没有用。由于没有关闭 Visual Studio,删除 obj 和 bin,然后再次运行。我什至尝试不在 VS 中运行 exe 文件。仍然 - 如果它没有运行则不锁定,如果它正在运行则锁定。

最佳答案

我发现了造成这种情况的原因。还有第二个 FileSystemWatcher - 在第一个的子目录上 - 不允许重命名第一个。

(不过我还是很惊讶。FileSystemWatcher 应该是“不可见的”。)

关于c# - FileSystemWatcher 锁定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28224595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com