isp*_*iro 5 .net c# filesystemwatcher winforms
答案如下.我既不能删除这个问题,也不能接受我的答案.
我正在FileSystemWatcher听一个文件夹.当我尝试重命名这个文件夹(在Windows资源管理器中)时,我得到一个
无法完成操作,因为文件夹或其中的文件在另一个程序中打开
错误.
评论这些FileSystemWatcher电话可以解决这个问题.
我尝试用一个简单的程序重现错误,但没有成功,所以我不确定这里发生了什么.有没有人遇到过这样的事情FileSystemWatcher?如果是这样 - 可能是什么导致了它?
更多信息:
以下似乎足以导致错误:
FileSystemWatcher fsw = new FileSystemWatcher(path);
fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
fsw.EnableRaisingEvents = true;
Run Code Online (Sandbox Code Playgroud)
我可以重命名该文件夹中的文件.和兄弟文件.我甚至试过把一个return;作为第一行fsw_Deleted.仍然没有奏效.由于没有关闭Visual Studio,并删除obj和bin,并再次运行.我甚至尝试不在VS中运行exe文件.仍然 - 没有锁定,如果它没有运行,如果它是锁定.
我发现了造成这种情况的原因。有第二个FileSystemWatcher-在第一个的子目录上-不允许重命名第一个。
(不过,我仍然感到惊讶。A FileSystemWatcher 应该是“不可见的”。)