尝试压缩文件 VB.NET 2003 时出错

Posted

技术标签:

【中文标题】尝试压缩文件 VB.NET 2003 时出错【英文标题】:Error when trying to zip files VB.NET 2003 【发布时间】:2012-08-23 19:02:54 【问题描述】:

我必须使用 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)

再次感谢那些花时间帮助我的人!

【问题讨论】:

【参考方案1】:

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

【讨论】:

看起来 GZipStream 类不属于 .NET Framework 1.1 的一部分:/ @devGabriel CGZipLibrary 也不是 :) 我认为即使您拥有旧版本的 Visual Studio,您仍然应该能够使用 .NET Framework 2.0 库。【参考方案2】:

你试过这个吗?这个不错: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 网站。

【讨论】:

是的,我试过了。看起来这个 dll 的版本不受 Visual Studio 2003 或类似的支持。当我尝试将 dll 添加为对我的项目的引用时,Visual Studio 给了我这个错误:无法添加对“Ionic.Zip.dll”的引用。这不是有效的程序集或 COM 组件。只能引用扩展名为“dll”的程序集和 COM 组件。请确保该文件是可访问的,并且该文件是有效的程序集或 COM 组件。 @devGabriel 更新了我的答案【参考方案3】:

我在大多数项目中使用的另一个选项是#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 档案。

【讨论】:

谢谢,但我使用了另一种方法。

以上是关于尝试压缩文件 VB.NET 2003 时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 vb.net 和 System.IO.Compression (.Net 4.5) 压缩文件

一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错

linux文将于目录的压缩和解压缩命令:gzip压缩文件

windows10 解压缩搜索支持文件时出错:灾难性故障

使用 pandas.read_csv 从 URL 读取压缩的 CSV 文件时出错

我下载的较大的文件压缩文件,解压缩时总是出现CRC错误