Compact Framework的Zip库选项?
我的要求:
- 支持.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