1

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);
     }
 }

圧縮プロセスは正常に実行されます。ただし、圧縮ファイルは7z(http://www.7-zip.org/download.html)またはwinrarを使用して抽出することはできません。

誰かが同じ問題を抱えていて、それを解決する方法を考えていたかどうかはわかりませんか?

前もって感謝します。

4

2 に答える 2

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 をお勧めします。

于 2012-01-25T08:52:12.187 に答える
2

SharpCompress は 7zip 圧縮をサポートしていません。解凍のみ。参照: http://sharpcompress.codeplex.com/ (サポートされている形式の表)

圧縮には 7zip のネイティブ ライブラリを使用するか、http ://sevenzipsharp.codeplex.com/ のようなオープンソース ラッパーを使用できます。

于 2011-12-01T02:05:37.733 に答える