我在.NET 3.5中编写Winform应用程序,我需要解压缩.rar或.zip文件。
我找到了很多东西,但我没有找到第三方。
我无法更改为.NET 4或.NET 4.5。
感谢您的帮助。 Horbert
答案 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。
不需要第三方代码......但是,您必须以更传统的,旧式的方式接近它。他们并没有完全解开自己。