2
저는 한 달 정도 DotNetZip을 사용 해왔고 어떻게 작동했는지는 알고 있지만 오늘은 내 프로그램에서 내가 우둔한 새로운 문제가 발생하기 시작했습니다.DotNetZip을 사용하여 처리되지 않은 예외
압축 과정 중에이 오류가 발생하고 "프로그램 이름이 작동하지 않습니다."상자가 표시됩니다.
Unhandled Exception: System.IO.FileNotFoundException: s:\(file path)\filename.pdf
at Ionic.Zip.SharedUtilities.GetFileLength(string fileName)
at ionic.Zip.ZipEntry.MaybeUnsetCompressionMethodForWriting(int32 cycle)
at Ionic.zip.Zipentry.WriteHeader(Stream s, Int32 cycle)
at Ionic.zip.ZipEntry.Write(Stream s)
at Ionic.zip.zipfile.save()
at ZipAJob_Instant.ConsoleMain.Main() in C:\users\(my name)\Documents\visual studio 2012\projects\zipAjob_Instant\zipAJob_Win32.vb:line 71
라인 (71) 내가 귀하의 의견에서 zip.save()
's : \ (파일 경로) \ filename.pdf '가 존재하고 프로그램이 실행되는 ID가 파일에 대한 액세스 권한을 갖고 있는지 확인 했습니까? –
프로그램을 실행하기 시작했을 때 존재했지만 오류가 나타난 후에는 폴더에 없었습니다. 나는 그 파일이 zip 프로세스 중에 (그 폴더에서 일하는 직원에 의해) 옮겨졌고 그것이 오류를 일으켰다 고 생각하고있다. – MaylorTaylor
글쎄, 당신이 문제를 발견 한 것 같습니다. 파일을 Zip 파일에 추가하기 직전에 각 파일에 대해 File.Exists를 확인할 수 있습니다. 또는 모든 파일을 아카이브에 추가해야하는 경우 압축을 시작하기 전에 각 파일을 독점적으로 잠그고 파일을 추가 할 때 하나씩 해제하십시오. 압축하는 데 오랜 시간이 걸리는 경우 임시 위치에 복사 한 다음 사본을 압축 할 수 있습니다. –