Варианты библиотеки Zip для Compact Framework?
Мои требования:
- Поддержка устройств .NET Compact Framework 2.0 и Windows Mobile 6.0.
- Нужно только разархивировать содержимое в каталог на карте памяти. Создание zip-файлов не требуется.
- Должен уметь использовать в корпоративном / коммерческом программном обеспечении.
- Может быть с открытым исходным кодом, но не иметь лицензию GPL или другую вирусную лицензию.
Я видел Xceed Zip для библиотеки CF. Какие еще есть варианты?
Ответов (5)5
Взгляните на #ziplib (www.icsharpcode.com). Это GPL, но вы можете использовать ее в коммерческих приложениях с закрытым исходным кодом. Они не говорят ничего конкретно на своей странице об использовании его с Compact Framework, поэтому вам придется протестировать его самостоятельно (при этом, это чистый C# без каких-либо внешних зависимостей, так что шансы, что он будет Работа).
Похоже, это может быть для вас хорошим вариантом: http://www.codeplex.com/DotNetZip . Он кажется небольшим, имеет исходный код и очень открытую лицензию (MS-PL).
Похоже, вам нужен zlibCE от OpenNETCF Foundation. Вы можете получить его здесь: http://opennetcf.com/FreeSoftware/zlibCE/tabid/245/Default.aspx
Это перенос библиотеки zlib linux на 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 . Речь идет о ~ 70к DLL. Он делает zip, распаковку, редактирование 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