[
  {
    "Id": "447809",
    "ThreadId": "213965",
    "Html": "<p>Has anyone here used or&nbsp;worked with both&nbsp;both?&nbsp; If so, can you describe which of the two&nbsp;is a more viable options and why?&nbsp; Or can anyone point me toward an article or document that compares both directly?&nbsp; While I have only begun initial research regarding both, it appears there is a lot more helpful documentation regarding DotNetZip compared to the&nbsp;System.IO.Packaging namespace in the .NET framework.</p>\r\n<p>Any help I can get would be greatly appreciated!</p>",
    "PostedDate": "2010-05-26T12:36:18.133-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "448103",
    "ThreadId": "213965",
    "Html": "<p>I don't use System.IO.Packaging.&nbsp; But here is quick comparison.</p>\r\n<ol>\r\n<li><strong>Generality </strong>- While System.IO.Packaging can be used to write a zip file, it cannot be used to read arbitrary zip files.&nbsp; All package files are zip files, but not all zip files are package files, in the same way that all squares are rectangles, but not all rectangles are squares.&nbsp; A zip file is a package file if it has a special set of entries, that the package format defines. I don't know what happens if you try to read an arbitrary zip file with System.IO.Packaging.&nbsp; <br>In contrast DotNetZip is designed to read or write any zip file. It takes advantage of zip features like AES encryption, NTFS timestamps, UTF8-encoding of entry names, spanned archives. <br>It's a general library.&nbsp; </li>\r\n<li><strong>Ease of Use </strong>- The metaphor in System.IO.Packaging is a package, made up of multiple parts.&nbsp; I find that model completely unhelpful when simply reading or writing zip archives. <br>In contrast, with DotNetZip, the metaphor for an archive is clear and simple. a ZipFile contains multiple ZipEntry items.&nbsp;You can read or&nbsp;save &nbsp;zip files.&nbsp; It's easy.</li>\r\n</ol>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2010-05-27T03:54:20.657-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]