我正在用.NET 3.5编写一个Winform应用程序,我需要解压缩一个.rar或.zip文件。我找到了很多东西,但我没有找到任何第三方。我无法更改为.NET 4或.NET 4.5。谢谢你的帮助。霍伯特
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文件与您的应用程序。
14ifxucb2#
http://www.codeproject.com/Articles/645214/Compress-Decompress-Zip-Files-w怎么样不是最好的解决方案,但如果你需要基本的zip/unzip功能,效果很好。免责声明:我是文章的作者。
ev7lccsx3#
.NET框架不支持.RAR文件,也不支持Zip files until .NET 4.5。如果你想在.NET 3.5中支持.ZIP(或.RAR),你需要第三方解决方案。例如,DotNetZip库支持.NET 3.5,并且完全可以处理.ZIP文件。有支持RAR的商业产品,如Chilkat RAR。
ffscu2ro4#
实际上,.NET 3.5使用DeflateStream处理.zip文件。你必须自己处理头文件,但是PKWare已经发布了规范,你可以创建结构体和使用流。不需要第三方代码...但是,你必须以更传统、更老派的方式来处理它。它们不会自己拉开拉链。
4条答案
按热度按时间bnlyeluc1#
如果您只需要解压缩一个zip文件,则无需添加外部第三方库即可实现。
您只需从Visual Studio中的引用管理器的COM选项卡中添加对Microsoft Shell控件和自动化的引用。
有了这个,你不必分发任何额外的dll文件与您的应用程序。
14ifxucb2#
http://www.codeproject.com/Articles/645214/Compress-Decompress-Zip-Files-w怎么样
不是最好的解决方案,但如果你需要基本的zip/unzip功能,效果很好。
免责声明:我是文章的作者。
ev7lccsx3#
.NET框架不支持.RAR文件,也不支持Zip files until .NET 4.5。
如果你想在.NET 3.5中支持.ZIP(或.RAR),你需要第三方解决方案。例如,DotNetZip库支持.NET 3.5,并且完全可以处理.ZIP文件。
有支持RAR的商业产品,如Chilkat RAR。
ffscu2ro4#
实际上,.NET 3.5使用DeflateStream处理.zip文件。你必须自己处理头文件,但是PKWare已经发布了规范,你可以创建结构体和使用流。
不需要第三方代码...但是,你必须以更传统、更老派的方式来处理它。它们不会自己拉开拉链。