【问题标题】:Error when trying to zip files VB.NET 2003尝试压缩文件 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)

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

【问题讨论】:

    标签: vb.net com zip visual-studio-2003


    【解决方案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 档案。

    【讨论】:

    • 谢谢,但我使用了另一种方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2014-09-07
    • 1970-01-01
    • 2013-05-13
    相关资源
    最近更新 更多