またまたほぼ1年ぶりの更新。
仕事上で.NET Framework上でZIPを扱う必要が出てきて、できれば追加のDLLとかなしで対応できないもんかと調べてたら、3.0以降限定になるもののこんなのを見つけた。
C# Use Zip Archives without External Libraries
ここの「ZipArchive」ってクラスが、MSのInternal Classである「MS.Internal.IO.Zip.ZipArchive」のwrapperとして働いてくれる。
ちなみに使用する場合にはVisual Studioの参照設定で「WindowsBase.dll」(ふつーの環境だと「C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\WindowsBase.dll」とか)を追加しておく必要がある。
今回はZIPから中のファイルを抽出してテキストを読み出せればいいのであまり細かい機能は調べてないけど、ファイル一覧・展開・圧縮・削除等基本的なところは一通り対応してるみたいなので、結構おすすめかも。
ま、最新の4.5だと、何も考えずに「System.IO.Compression.ZipArchive」とかってクラスが追加されてたりするんで(詳しくは
ついに解禁!.NET で ZIP 制御を参照)、あまり役に立たない情報かもしれませんが。