C#.Net 3.5解压缩zip文件没有第三方

时间:2013-05-27 18:10:26

标签: c# winforms .net-3.5 zip unzip

我在.NET 3.5中编写Winform应用程序,我需要解压缩.rar或.zip文件。
我找到了很多东西,但我没有找到第三方。 我无法更改为.NET 4或.NET 4.5。

感谢您的帮助。 Horbert

4 个答案:

答案 0 :(得分:2)

.NET框架不支持.RAR文件,并且不支持Zip files until .NET 4.5

如果要在.NET 3.5中支持.ZIP(或.RAR),则需要第三方解决方案。例如,DotNetZip库支持.NET 3.5,并且完全可以处理.ZIP文件。

有些商业产品支持RAR,例如Chilkat RAR

答案 1 :(得分:2)

怎么样 http://www.codeproject.com/Articles/645214/Compress-Decompress-Zip-Files-w

不是最佳解决方案,但如果您需要基本的zip / unzip功能,则效果很好。

免责声明:我是这篇文章的作者。

答案 2 :(得分:2)

如果您只需要解压缩zip文件,则不需要添加外部第三方库。

只有您需要的是从Visual Studio中的参考管理器中的COM选项卡添加对 Microsoft Shell控件和自动化的引用。

private static void Unzip(String sourceFile,String destination) 
{
    Shell32.ShellClass sc = new Shell32.ShellClass();
    Shell32.Folder SrcFlder = sc.NameSpace(sourceFile);
    Shell32.Folder DestFlder = sc.NameSpace(destination);
    Shell32.FolderItems items = SrcFlder.Items();
    DestFlder.CopyHere(items, 20);          
}

有了这个,您不必在您的应用程序中分发任何其他dll文件

答案 3 :(得分:1)

实际上,.NET 3.5使用DeflateStream执行.zip文件。您必须自己处理标题,但PKWare已发布规范,您可以创建结构并使用Streams。

不需要第三方代码......但是,您必须以更传统的,旧式的方式接近它。他们并没有完全解开自己。