c# . net 3.5解压缩压缩文件没有第三方

本文关键字:文件 第三方 压缩 解压缩 net | 更新日期: 2023-09-27 18:15:29

我正在用。net 3.5编写一个Winform应用程序,我需要解压缩一个。rar或。zip文件。
我发现了很多东西,但我没有发现任何第三方。我无法切换到。net 4或。net 4.5。

谢谢你的帮助。Horbert

c# . net 3.5解压缩压缩文件没有第三方

如果您只需要解压缩zip文件,则无需添加外部第三方库即可实现。

所有你需要做的是添加一个引用到微软Shell控件和自动化从COM选项卡在Visual Studio的参考管理器。

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文件。

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

不是最好的解决方案,但如果您需要基本的压缩/解压缩功能,则可以很好地工作。

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

. net框架不支持。rar文件,直到。net 4.5才支持Zip文件。

如果你想在。net 3.5中支持。zip(或。rar),你将需要第三方解决方案。例如,DotNetZip库支持。net 3.5,并且完全可以处理。zip文件。

有支持RAR的商业产品,如Chilkat RAR。

实际上,。net 3.5使用DeflateStream处理。zip文件。你必须自己处理头文件,但是PKWare已经发布了规范,你可以创建结构体并使用流。

不需要第三方代码…但是,你必须以一种更传统的、老派的方式来处理它。它们不会自己解压缩。