0

我必须使用 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 对 zip 文件有更好/更简单的方法,那也会很有帮助。

谢谢。

编辑:

感谢所有回答的人,但我使用了与建议的方法不同的方法来压缩我的文件。我使用了Microsoft.VisualBasic.Interaction 类的Shell 函数,如下所示:

Shell("zip -j " & fileName, AppWinStyle.Hide, True)

再次感谢那些致力于帮助我的人!

4

3 回答 3

1

看起来您尝试使用的那个库是一个旧的 COM dll。这意味着您必须先使用 regsvr32.exe 注册 dll,然后才能使用它。但是,我建议使用本机 .NET(托管)库。除非它不能满足您的需要,否则我只是建议您查看GZipStream属于 .NET 框架的类。

于 2012-08-23T19:19:33.207 回答
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

更多 Ionic.ZIP 的 VB.NET 示例

更新:

您的问题是 VS2003 无法使用在较新(例如 VS2005)版本的 VS 中创建的 dll 的目标。对于许多尝试使用它的人来说,创建了一个工具,您可以在此处下载。如需更多信息,请访问网站。

于 2012-08-23T19:14:44.937 回答
0

我在大多数项目中使用的另一个选项是#ZipLib (SharpZipLib),可在此处下载:

http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx

VB 和 C# 的文档和示例可在同一站点获得。它具有适用于 .NET 框架 1.1 以及更高版本的特定二进制程序集 (dll)。您遇到的其他一些库很可能是为 .NET 2.0 或更高版本编译的,这在 VS2003 中不起作用。

不要让名字欺骗你——它是用 C# 编写的(因此得名),但编译的程序集在 VB.NET 中工作得很好。它支持 Zip、GZip、tar 和 BZip2 档案。

于 2012-08-23T19:36:43.123 回答