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 を使用してファイルを圧縮するためのより優れた/より簡単なアプローチを取得した場合、それも役に立ちます。

ありがとう。

編集:

回答してくれたすべての人に感謝しますが、提案された方法とは異なる方法でファイルを圧縮しました。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

これを試しましたか?これはかなり良いです: dotnetzipライブラリである ionic.zip.reduced 。

例:

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

私がほとんどのプロジェクトで使用しているもう 1 つのオプションは、#ZipLib (SharpZipLib) です。ここからダウンロードできます。

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

VB と C# のドキュメントとサンプルは、同じサイトから入手できます。これには、.NET Framework 1.1 およびそれ以降のバージョン用の特定のバイナリ アセンブリ (dll) があります。遭遇した他のライブラリのいくつかは、VS2003 では動作しない .NET 2.0 以降用にコンパイルされている可能性があります。

名前に惑わされないでください。C# で記述されていますが (名前の由来です)、コンパイルされたアセンブリは VB.NET でも問題なく動作します。Zip、GZip、tar、および BZip2 アーカイブをサポートしています。

于 2012-08-23T19:36:43.123 に答える