winforms C# .Net 3.5解压缩zip文件,无第三方

egmofgnx  于 2023-06-24  发布在  C#
关注(0)|答案(4)|浏览(261)

我正在用.NET 3.5编写一个Winform应用程序,我需要解压缩一个.rar或.zip文件。
我找到了很多东西,但我没有找到任何第三方。我无法更改为.NET 4或.NET 4.5。
谢谢你的帮助。霍伯特

bnlyeluc

bnlyeluc1#

如果您只需要解压缩一个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文件与您的应用程序

14ifxucb

14ifxucb2#

http://www.codeproject.com/Articles/645214/Compress-Decompress-Zip-Files-w怎么样
不是最好的解决方案,但如果你需要基本的zip/unzip功能,效果很好。
免责声明:我是文章的作者。

ev7lccsx

ev7lccsx3#

.NET框架不支持.RAR文件,也不支持Zip files until .NET 4.5
如果你想在.NET 3.5中支持.ZIP(或.RAR),你需要第三方解决方案。例如,DotNetZip库支持.NET 3.5,并且完全可以处理.ZIP文件。
有支持RAR的商业产品,如Chilkat RAR

ffscu2ro

ffscu2ro4#

实际上,.NET 3.5使用DeflateStream处理.zip文件。你必须自己处理头文件,但是PKWare已经发布了规范,你可以创建结构体和使用流。
不需要第三方代码...但是,你必须以更传统、更老派的方式来处理它。它们不会自己拉开拉链。

相关问题