함수라는 Page_Load에서 다음 코드가 있습니다. Visual Studio를 시작한 후 처음으로 페이지를로드하면 모든 것이 정상적으로 작동합니다.
그러나 그 이후 파일에 다른 오프닝 호출은 직접으로 VisualStudio 솔루션의 파일을 열어이 오류FileStream.close()가 다른 프로세스에서 파일을 비우지 않습니다.
FileStream mailinglist_FileStream = new FileStream(@"\foobarFile.txt", FileMode.Open);
PeekingStreamReader mailinglist_Reader = new PeekingStreamReader(mailinglist_FileStream);
//Do some stuff with the file
mailinglist_FileStream.Close();
mailinglist_Reader.Close();
mailinglist_Reader.Dispose();
mailinglist_FileStream.Dispose();
이
왜 파일이 여전히 잠겨 (물론하지 예외)를 반환하는 경우에도, IOException: "File is in use by another process"
반환? 왜 Visual Studio를 완전히 다시 시작하면 파일이 다시 설정됩니까? 는 파일 속성을 검사 할 때 그것은 말한다 :
빌드 작업 : 콘텐츠
복사 출력 디렉토리 : 나는 단지이 파일을 읽고있다
복사하지 마십시오. 여러 프로세스가 파일에 액세스 할 수 있도록 adLockOptimistic
과 비슷한 것을 할 수 있습니까?
사이드 노트에 : 수동으로 닫고 처분하는 대신에 using 문을 사용하십시오 –