Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharpZipLib只压缩了部分目录';s子目录_C#_.net_Sharpziplib - Fatal编程技术网

C# SharpZipLib只压缩了部分目录';s子目录

C# SharpZipLib只压缩了部分目录';s子目录,c#,.net,sharpziplib,C#,.net,Sharpziplib,我使用SharpZipLib在.NET 3.5项目中创建目录的zip文件,我创建的存档如下: fastZip.CreateZip(Server.MapPath(zipToPath), Server.MapPath(zipFromPath), true, null); 这不会设置文件或文件夹过滤器 问题是结果zip文件在该目录中只有一些子目录,而不是所有子目录,比如我要压缩的目录有3个子目录,结果zip文件只有其中一个子目录 你知道为什么会发生这种情况吗?有几种可能性: 权限-由于您使用的是

我使用SharpZipLib在.NET 3.5项目中创建目录的zip文件,我创建的存档如下:

fastZip.CreateZip(Server.MapPath(zipToPath), Server.MapPath(zipFromPath), true, null);  
这不会设置文件或文件夹过滤器

问题是结果zip文件在该目录中只有一些子目录,而不是所有子目录,比如我要压缩的目录有3个子目录,结果zip文件只有其中一个子目录


你知道为什么会发生这种情况吗?

有几种可能性:

权限-由于您使用的是Server.MapPath(),我假设这是一个网站。在部分信任环境中,网站代码的权限非常少,库可能会接受zip过程中出现的任何权限错误


文件名-文件名长度、文件名中的空格等可能有问题。由于您没有提供任何示例(文件名/目录名),因此无法缩小范围。

经过一些调试后,我发现了问题。 问题的原因是,另一个进程在向其添加文件的过程中正在访问创建的zip文件,这导致SharpZipLib进程终止并引发异常,从而使创建的zip文件仅包含部分文件


有关更多信息,请阅读我的问题。

更新了问题,使其更加清晰。