Варианты библиотеки Zip для Compact Framework?

Мои требования:

  • Поддержка устройств .NET Compact Framework 2.0 и Windows Mobile 6.0.
  • Нужно только разархивировать содержимое в каталог на карте памяти. Создание zip-файлов не требуется.
  • Должен уметь использовать в корпоративном / коммерческом программном обеспечении.
  • Может быть с открытым исходным кодом, но не иметь лицензию GPL или другую вирусную лицензию.

Я видел Xceed Zip для библиотеки CF. Какие еще есть варианты?

Ответов (5)

Решение

Взгляните на #ziplib (www.icsharpcode.com). Это GPL, но вы можете использовать ее в коммерческих приложениях с закрытым исходным кодом. Они не говорят ничего конкретно на своей странице об использовании его с Compact Framework, поэтому вам придется протестировать его самостоятельно (при этом, это чистый C# без каких-либо внешних зависимостей, так что шансы, что он будет Работа).

Похоже, это может быть для вас хорошим вариантом: http://www.codeplex.com/DotNetZip . Он кажется небольшим, имеет исходный код и очень открытую лицензию (MS-PL).

Похоже, вам нужен zlibCE от OpenNETCF Foundation. Вы можете получить его здесь: http://opennetcf.com/FreeSoftware/zlibCE/tabid/245/Default.aspx

Это перенос библиотеки zlib linux на CE. По сути, это собственная библиотека DLL, но теперь они также предоставляют оболочку .NET вместе со всем исходным кодом.

Я использовал его в проектах раньше, и он работал неплохо.

Я использую набор инструментов Resco MobileForms для различных функций: http://www.resco.net/developer/mobileformstoolkit/overview.aspx

Он включает в себя хорошую библиотеку ZIP.

Начиная с v1.7, дистрибутив DotNetZip теперь включает версию, созданную специально для .NET Compact Framework, либо v2.0, либо v3.5. http://www.codeplex.com/DotNetZip/Release/ProjectReleases.aspx . Речь идет о ~ 70к DLL. Он делает zip, распаковку, редактирование zip, пароли, ZIP64, Unicode, потоки и многое другое.

DotNetZip - это 100% управляемый код, открытый исходный код и бесплатное использование. Это тоже очень просто и легко.

  try
  {
      using (var zip1 = Ionic.Zip.ZipFile.Read(zipToUnpack))
      {
          foreach (var entry in zip1)
          {
              entry.Extract(dir, ExtractExistingFileAction.OverwriteSilently);
          }
      }
  }
  catch (Exception ex)
  {
      MessageBox.Show("Exception! " + ex);
  }

В исходный дистрибутив включен образец приложения, которое распаковывается на карту памяти.

Приложение CF-Unzipper http://www.freeimagehosting.net/uploads/ce5ad6a964.png