File.Delete(strFilePath);  <-- 요기서 에러 났다.

 

[UnauthorizedAccessException: ~~ 경로에 대한 액세스가 거부되었습니다.]

이런 에러..

 

MSDN 찾아보면

  http://msdn.microsoft.com/ko-kr/library/system.io.file.delete(v=vs.90).aspx

 

UnauthorizedAccessException 에러는

 

UnauthorizedAccessException

호출자에게 필요한 권한이 없는 경우

- 또는 -

path가 디렉터리인 경우

- 또는 -

path에서 읽기 전용 파일을 지정한 경우

UnauthorizedAccessException

호출자에게 필요한 권한이 없는 경우

- 또는 -

path가 디렉터리인 경우

- 또는 -

path에서 읽기 전용 파일을 지정한 경우

UnauthorizedAccessException

호출자에게 필요한 권한이 없는 경우

- 또는 -

path가 디렉터리인 경우

- 또는 -

path에서 읽기 전용 파일을 지정한 경우

호출자에게 필요한 권한이 없는 경우

- 또는 -

path가 디렉터리인 경우

- 또는 -

path에서 읽기 전용 파일을 지정한 경우

 

 이런 경우에 발생한단다.

 

원인을 알았으니 해결해본다.

 

먼저 권한 문제 인거 같아 권한을 모두줘본다. Everyone 모든 권한을 줘도 같은 에러가 난다.

그럼 권한 문제는 아니고, path는 파일이 확실하고..

그렇다. 원인은 바로 읽기 전용 파일이어서 발생한 에러였다. 이거 찾아내는데 3시간 걸렸다...OTL

 

그럼 읽기 전용일때 해결법은? 간단하다...

 

FileInfo file = new FileInfo(strFilePath);
file.IsReadOnly = false;
File.Delete(strFilePath);

 

읽기전용을 false로 바꾸고 지우면 된다.

 

반응형

+ Recent posts