چند روز است که میخواستم با استفاده از کتابخانه SharpZipLib یک فولدر و ساب فولدرهایش را zip کنم اما نمونه کدهای موجود نمیتوانستند recursive عمل کنند و فقط فایلهای موجود در فولدر را zip میکردند. از طرفی توسعه نمونه کدها هم نیاز به شناخت کاملتری از API کتابخانه داشت.
خوشبختانه کمی فضولی در اسمبلی ICSharpCode.SharpZipLib نجاتم داد. چون حین نگاه کردن به کلاسها و name spaceهای آن متوجه کلاسی به اسم FastZip شدم. کار مد نظر من با FastZip با همین دو خط زیر انجام شد:
FastZip fastZip = new FastZip();
fastZip.CreateZip(zipFileName, sourceDirectory, true, “”);