【问题标题】:Zip library options for the Compact Framework?Compact Framework 的 Zip 库选项?
【发布时间】:2010-09-05 15:51:23
【问题描述】:

我的要求:

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

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

【问题讨论】:

    标签: windows-mobile compact-framework zip components


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      这看起来对您来说可能是一个不错的选择:http://www.codeplex.com/DotNetZip。它看起来很小,有源代码并且有一个非常开放的许可证 (MS-PL)。

      【讨论】:

        【解决方案3】:

        看起来您需要的是来自 OpenNETCF 基金会的 zlibCE。 你可以在这里得到它:http://opennetcf.com/FreeSoftware/zlibCE/tabid/245/Default.aspx

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

        我之前在项目中使用过,效果很好。

        【讨论】:

          【解决方案4】:

          我将 Resco MobileForms 工具包用于各种功能:http://www.resco.net/developer/mobileformstoolkit/overview.aspx

          它包括一个很好的 ZIP 库。

          【讨论】:

            【解决方案5】:

            从 v1.7 开始,DotNetZip 分发版现在包括一个专门为 .NET Compact Framework 构建的版本,可以是 v2.0 或 v3.5。 http://www.codeplex.com/DotNetZip/Release/ProjectReleases.aspx。它大约是 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-Unzipper app http://www.freeimagehosting.net/uploads/ce5ad6a964.png

            【讨论】:

            • 出于好奇,为什么要为 CF 3.5 构建? CF 3.5具有内置压缩支持。如果它是为 2.0 构建的,它将更加有用,它仍然有一个重要的安装基础并且 没有压缩支持。
            • .NET Compact Framework 3.5 中的哪些地方支持 ZIP 存档? System.IO.Compression 仅适用于 deflate/gzip 压缩算法。它们不支持 ZIP 文件格式。
            • 你们俩都有积分。 Ctacke,你是对的,周围还有更多的 CF 2.0 设备。 Slim - 你也是正确的:.NET Framework(桌面或 CF,3.5 或 2.0)不提供对管理 zip 的内置支持。无论如何,我已经更新了 DotNetZip v1.7,现在它可以在 CF 2.0 上运行。
            猜你喜欢
            • 2011-03-16
            • 1970-01-01
            • 2010-12-09
            • 2010-09-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-20
            相关资源
            最近更新 更多