使用sharpcompress创建一个7zip存档

oli*_*dev 1 c# 7zip sharpcompress

我需要使用SharpCompress将文件压缩为7zip:http://sharpcompress.codeplex.com

我做了如下:

using (var archive = ZipArchive.Create())
{
     archive.AddEntry("CompressionTest.pdb", new FileInfo("CompressionTest.pdb"));

     using (Stream newStream = File.Create("CompressionTest212.7z"))
     {
         archive.SaveTo(newStream, SharpCompress.Common.CompressionType.LZMA);
     }
 }
Run Code Online (Sandbox Code Playgroud)

压缩过程成功完成.但是,无法使用7z(http://www.7-zip.org/download.html)或winrar提取压缩文件.

我不知道是否有人也遇到了同样的问题,并且知道如何解决它?

提前致谢.

ada*_*ock 8

我是SharpCompress的作者(感谢顺便试试)并且不支持7Zip压缩:http://sharpcompress.codeplex.com/wikipage?title = Supported%20formats

您编写的是使用LZMA压缩创建标准Zip文件的代码.我的代码可能无法创建正确的zip文件,但也可能是所有程序都无法读取创建的文件.Zip格式允许LZMA压缩,但并非所有程序都可以预期.PeaZip(基于7Zip归档代码)确实用LZMA提取Zip,但WinRAR没有.

如果你真的需要7Zip格式,我建议使用其他东西.就个人而言,我认为7Zip格式过于复杂,建议使用Zip或Tar然后选择你的压缩选择.