我必须使用Visual Studio和VB.NET 2003创建一个简单的zip文件。
经过一些谷歌搜索,我到了这个页面:http://www.digioz.com/tutorials/zip_unzip_vbNET/Zip_and_Unzip_VB_NET_1.html它基本上为我提供了3个DLL,其中包含准备压缩文件的类。 当我尝试创建类的实例时,如教程告诉我:
Dim zp As New CGZipLibrary.CGZipFiles
我收到此错误:
COM object with CLSID {293364BA-43F8-11D3-BC2D-4000000A2806} is either not valid or not registered.
想法? 如果有人使用VB.NET 2003更好/更容易地压缩文件,那么它也会有所帮助。
感谢。
修改
感谢所有回答的人,但我使用了与建议的方法不同的方法来压缩文件。 我使用了Microsoft.VisualBasic.Interaction类的Shell function,如下所示:
Shell("zip -j " & fileName, AppWinStyle.Hide, True)
再次感谢那些致力于帮助我的人!
答案 0 :(得分:1)
看起来您尝试使用的库是旧的COM dll。这意味着您必须先使用regsvr32.exe注册该DLL,然后才能使用它。但是,我建议使用本机.NET(托管)库。除非它不能满足您的需求,否则我建议您查看作为.NET框架一部分的GZipStream
类。
答案 1 :(得分:0)
你试过这个吗?这非常好:ionic.zip.reduced,一个dotnetzip库。
示例:
Using zip As ZipFile = New ZipFile()
zip.AddFile("c:\photos\personal\7440-N49th.png")
zip.AddFile("c:\Desktop\2008_Annual_Report.pdf")
zip.AddFile("ReadMe.txt")
zip.Save("MyZipFile.zip")
End Using
More VB.NET examples of Ionic.ZIP
更新:
您的问题是VS2003无法使用在较新(例如VS2005)版本的VS中创建的dll的定位。对于许多人试图使用它,创建了一个工具,您可以下载here。有关详细信息,请访问this网站。
答案 2 :(得分:0)
我在大多数项目中使用的另一个选项是#ZipLib(SharpZipLib),可在此处下载:
http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx
VB和C#的文档和示例可在同一站点获得。它具有.NET Framework 1.1的特定二进制程序集(dll)以及更高版本。您运行的其他一些库可能是针对.NET 2.0或更高版本编译的,这在VS2003中不起作用。
不要让这个名字欺骗你 - 它是用C#编写的(因此名称),但编译的程序集在VB.NET中运行得很好。它支持Zip,GZip,tar和BZip2档案。