ZipArchiveMode.Update进程无法访问文件,因为它正在被另一个进程使用

时间:2018-12-23 01:27:16

标签: c# asp.net wpf

我的代码是:

using (FileStream zipToOpen = new FileStream(zipPath, FileMode.Open, FileAccess.ReadWrite, FileShare.Delete)) 
{ 
    using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)) 
    { 
       addBuilding(archive); 
    } 
    zipToOpen.Close(); 
} 

当出现调用功能时,出现下一条消息:该进程无法访问文件XXXXX,因为它正在被另一个进程使用。如何解决问题?

1 个答案:

答案 0 :(得分:0)

您显示的当前代码不会导致此异常。

错误消息说明一切。简而言之,该文件在某个位置打开,十分之九(是您自己的代码)的代码,该代码具有打开该文件的操作系统文件句柄。

常见的原因是处理文件时没有使用using语句。

但是,可能还有其他进程打开了文件,另一个编辑器,病毒检查程序甚至可能导致这些问题或许多其他问题。

提示

  • 检查代码是否可以打开,编辑该文件或对该文件执行任何操作(如果已执行),请确保检查每种方法以查看是否可以将using语句与此文件一起使用。这样可以确保文件超出using的范围并关闭所有托管资源后会关闭
  • 另一种简单的操作是,只需重新启动计算机,这将确保没有其他应用程序对其具有独占访问权。但是,如果发生相同的问题,那么您自己的代码很可能是罪魁祸首