아래 답변. 나는 질문을 삭제할 수도없고 내 대답을 받아 들일 수도 없다 (아직).FileSystemWatcher는 폴더를 잠급니다.
나는 폴더에서 수신 대기 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은 (포인트 케이스를 고정하지 않습니다 : [C# FileSystemWatcher 구성 잠금 폴더 (HTTP : //stackoverflow.com/questions/2973477/c-sharp-filesystemwatcher-lock-folder)). 'fsw_Deleted'에 디렉터리 나 파일을 잠그는 무언가가있을 것입니다. – CodeCaster
@CodeCaster 필자는'fsw_Deleted'의 첫 줄에'return;'을 넣기까지했습니다. 아직도 작동하지 않았다. 마찬가지로 Visual Studio를 닫지 않고,'obj'와'bin'을 삭제하지 않았습니다. 나는 무엇을 더 시도 할 수 있는지 모른다. 어떤 아이디어라도 환영합니다. – ispiro
@CodeCaster 죄송합니다. 아니, 나는 그 일을 의미했다. 다시 뛰었다. 그리고 나는 VS 내에서 실행되지 않는'exe' 파일을 실행하려고했습니다. 여전히 - 실행 중이 아닌 경우 잠금 없음, 잠금 상태 인 경우 잠김. – ispiro