.NET Framework アプリケーションから使用できるZIPライブラリのDotNetZip Libraryがv1.8.4.22で安定版になっています。
DotNetZip Library - Release- 1.8
以前からにv1.9がプレビュー状態ですからそう遠くなく安定版になるのかもしれませんね。
DotNetZipのライセンスはMS-PLです。
v1.7を使用している場合、次の2点について特に注意が必要です。
非互換性についてはコンパイル時点でわかるので大きな問題はないですが、その他注意すべき変更点の部分はホントに注意が必要です。
以前は複数のZipファイルを同時に扱う場合、テンポラリフォルダ上で衝突する可能性がありましたが、v1.8ではZipがあるフォルダに内容と同一名のファイルがあると衝突するようです(詳細は未確認)。
いずれにしても危険なので、専用の一時フォルダを作成してZipFile.TempFIleFolder プロパティに設定する必要があるでしょう。
リリースノート上の記述は以下の通りです。
v1.7からの非互換性:
CompressionLevel 列挙体をFxCopに準拠したため、メンバの名称が変更されている。例えば ”BEST_COMPRESSION” が”BestCompression”に、 “LEVEL3” が “Level3”になっている。CompressionStrategy 列挙体も同様。
その他注意すべき変更点:
一時ファイルの使用法が変更:v1.8では、一時ファイルをZipファイルと同一ディレクトリに作成します。以前はユーザのテンポラリ ディレクトリを使用していました。
DotNetZipを使用するアプリケーションは、ZipFile.TempFIleFolderプロパティでオーバーライドできるのはこれまでと変わりません。
v1.8の新機能:
ReleaseとDebug両モードのDLLが提供されるようです。
また、Script系から使用できるようにComVisibleになっています。
ほかには、日付(NTFSのatime/mtime/ctime)などですね。
公開されているリストは以下(ちょっと面倒なのでこっちは英語のまま)
- 7803: optionally flatten folder paths when extracting
- 7366: DotNetZip is now ComVisible, usable from Javascript, VBScript, PHP, etc.
- The Zip Reduced library is now marked as CLS Compliant and APTC
- DotNetZip now ships both a RELEASE dll and a DEBUG dll. The RELEASE build is significantly faster than the DEBUG build.
- 7241: better options during extract when files exist in the filesystem
- 7192: just-in-time stream provisioning when adding entries for scalability with large archives.
- 7072: file selector support (including wildcards) for Add/Extract/Remove/Select
- 7159: Ionic.Zlib.GZipStream, to replace the dysfunctional BCL class.
- 7067: SFX files are now ZIP files as well as EXE files, and can be read, edited, updated by DotNetZip or by WinZip. Also, UI tweaks in the SFX.
- Improvements in the WinForms Zip tool. Now supports extract as well as create. It can be used as a replacement for WinZip. It gets set as the default "Open" tool for zip files in Windows Explorer when you install via the MSI. Also, myriad UI improvements, like drag-n-drop. Exploits the new file selector capability: eg, extract *.xml files via the UI.
- CLS-compliance on Ionic.Zlib.dll
- 7071: Properly store/set file attributes on Zip/Extract
- 6878: Properly encode and extract NTFS atime/mtime/ctime
- now sets LastMod time on Extract() on .NET Compact Framework
- 7191: icons set in Windows Explorer when the MSI is installed
- 5470: execute-on-unpack for SFX
- 7907: "Add" events
- 8093: Unix-format timestamps.
- 8124: Windows + Unix time formats are optional
DotNetZipライブラリのダウンロードは
ここからできます。
最近のコメント