Compact Framework的Zip库选项?

时间:2020-03-05 18:38:52  来源:igfitidea点击:

我的要求:

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

我看过Xceed Zip for CF库。还有什么其他选择?

解决方案

回答

看看#ziplib(www.icsharpcode.com)。它是GPL,但我们可以在闭源商业应用程序中使用它。他们没有在页面上特别说明如何将它与Compact Framework一起使用,因此我们必须自己进行测试(也就是说,它是纯C语言,没有任何外部依赖项,因此可以使用它的几率很大) )。

回答

对于我们来说,这似乎是一个不错的选择:http://www.codeplex.com/DotNetZip。看起来很小,有原始文件并且具有非常开放的许可证(MS-PL)。

回答

看起来我们需要的是来自OpenNETCF基础的zlibCE。
我们可以在这里获得它:http://opennetcf.com/FreeSoftware/zlibCE/tabid/245/Default.aspx

这是linux zlib库到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。大约有70k DLL。它可以进行zip,unzip,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