Compact Framework 的 Zip 库选项?
Posted
技术标签:
【中文标题】Compact Framework 的 Zip 库选项?【英文标题】:Zip library options for the Compact Framework? 【发布时间】:2010-09-05 15:51:23 【问题描述】:我的要求:
支持 .NET Compact Framework 2.0 和 Windows Mobile 6.0 设备。 只需将内容解压缩到存储卡上的目录即可。不需要创建 zip 文件。 必须能够在企业/商业软件中使用。 可以是开源的,但没有 GPL 或其他病毒许可。我看过Xceed Zip for CF 库。还有哪些其他选择?
【问题讨论】:
【参考方案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 上运行。以上是关于Compact Framework 的 Zip 库选项?的主要内容,如果未能解决你的问题,请参考以下文章
.NET Compact Framework 3.5 上是不是提供像 AutoMapper 这样的映射库?