Windows mobile 压缩框架的Zip库选项?

Windows mobile 压缩框架的Zip库选项?,windows-mobile,compact-framework,zip,components,Windows Mobile,Compact Framework,Zip,Components,我的要求: 支持.NET Compact Framework 2.0和Windows Mobile 6.0设备 只需将内容解压缩到存储卡上的目录。不需要创建zip文件 必须能够在公司/商业软件中使用 可以是开源的,但没有GPL或其他病毒许可证 我看过图书馆。还有什么其他选择?请查看#ziplib(www.icsharpcode.com)。它是GPL,但您可以在封闭源代码的商业应用程序中使用它。他们没有在他们的页面上明确说明如何将其与Compact框架结合使用,因此您必须自己对其进行测试(也就

我的要求:

  • 支持.NET Compact Framework 2.0和Windows Mobile 6.0设备
  • 只需将内容解压缩到存储卡上的目录。不需要创建zip文件
  • 必须能够在公司/商业软件中使用
  • 可以是开源的,但没有GPL或其他病毒许可证

我看过图书馆。还有什么其他选择?

请查看#ziplib(www.icsharpcode.com)。它是GPL,但您可以在封闭源代码的商业应用程序中使用它。他们没有在他们的页面上明确说明如何将其与Compact框架结合使用,因此您必须自己对其进行测试(也就是说,它是纯C语言,没有任何外部依赖关系,因此它工作的可能性有点大)。

这看起来可能是您的一个好选择:。它看起来很小,有源码,有一个非常开放的许可证(MS-PL)。

看起来你需要的是OpenNETCF基金会的ZLBCE。 你可以在这里找到它:

它是linux库到CE的一个端口。它的核心是一个本机dll,但它们现在还提供了一个.NET包装器以及所有源代码


我以前在项目中使用过它,它的性能非常好。

我使用Resco MobileForms工具包实现各种功能:


它包括一个很好的ZIP库。

从1.7版开始,DotNetZip发行版现在包括一个专为.NET Compact Framework构建的版本,可以是2.0版或3.5版。大约是70k DLL。它可以压缩、解压、压缩编辑、密码、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 3.5构建?CF 3.5内置了压缩支持。如果它是为2.0构建的,它会更有用,因为2.0仍然是一个重要的安装基础,并且没有压缩支持?System.IO.Compression仅适用于deflate/gzip压缩算法。他们不支持ZIP文件格式。你们都有自己的观点。Ctacke,你说得对,还有更多的CF 2.0设备。Slim-你也说得对:.NETFramework(桌面或CF,3.5或2.0)不提供管理ZIP的内置支持。无论如何,我已经更新了DotNetZip的v1.7,使它现在可以在cf2.0上运行。