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



错误。

注释掉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/

10-10 22:56