안녕하세요 Triumph 입니다.
File.Delete() 사용 시 액세스 거부 문제 해결방법에 대해 포스팅합니다.
문제발생> 아래와 같이 File.Delete 사용 도중 System.UnauthorizedAccessException: ~ 경로에 대한 액세스가 거부되었습니다. 라는 에러 발생
MSDN을 통해 확인 해 본 결과 UnauthorizedAccessException 아래와 같을 때 발생합니다.
1. 호출자에게 필요한 권한이 없는 경우
2. path가 디렉터리인 경우
3. path에서 읽기 전용 파일을 지정한 경우
항목별로 해결을 시도하였습니다.
1번 : Everyone 권한을 주었으나, 동일한 에러 발생
2번 : 폴더 내 파일 검색 후 지우는 로직이라 해당사항 없음
3번 : 읽기전용 파일이 생성될리가 없는데...이게 문제였습니다.
해결법은 읽기전용 옵션을 해제하면 됩니다.
FileInfo file = new FileInfo(strFilePath);
file.IsReadOnly = false;
File.Delete(strFilePath);
Reference
- https://msdn.microsoft.com/ko-kr/library/system.io.file.delete(v=vs.90).aspx
'Language > C#' 카테고리의 다른 글
[C#] 64bit 환경에서 레지스트리 Software 하위 키 접근하기 (0) | 2017.06.13 |
---|---|
[C#] 64bit 환경에서 system32 접근하기 (0) | 2017.05.17 |