在Visual Basic .NET中提取Zip文件
问题描述:
我正在开发一个Visual Basic项目,我陷入了一件超级简单的事情。解压缩文件。在Visual Basic .NET中提取Zip文件
我有以下进口
`Imports System.Net
Imports System
Imports System.IO
Imports System.IO.Compression`
我引用如下
System
System.Core
System.Data
System.Data.DataSetExtensions
System.Deployment
System.Drawing
System.IO.Compression
System.IO.Compression.FileSystem
System.Net.Http
System.Windows.Forms
System.Xml
System.Xml.Linq
那么我的代码应该做的,如果安装了软件的检查, 如果它是不是会下载一个安装的zip文件。
一旦zip被下载,它应该提取它并运行设置。
一切工作,除了这个代码块就在这里:
Private Sub client_OMSADownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
MessageBox.Show("Download Complete")
Try
ZipFile.ExtractToDirectory("C:\end.zip", "C:\end")
Catch ex As Exception
MsgBox("Can't Extract file" & vbCrLf & ex.Message)
End Try
End Sub
Public NotInheritable Class ZipFile
Public Shared Sub ExtractToDirectory(
sourceArchiveFileName As String,
destinationDirectoryName As String
)
End Sub
End Class
我没有得到任何的异常,它只是不解压,它基本上跳过就在该块。
请帮忙!
答
根据你的代码,你继承了ZipFile类的方法ExtractToDirectory
,它什么都不做。
Public NotInheritable Class ZipFile
Public Shared Sub ExtractToDirectory(sourceArchiveFileName As String,
destinationDirectoryName As String)
End Sub
End Class
要解决此问题,请从代码中简单地删除此方法。
答
您自己声明了ZipFile
类,而您应该使用System.IO.Compression
命名空间中的现有类。因此,只删除以下部分代码:
Public NotInheritable Class ZipFile
Public Shared Sub ExtractToDirectory(
sourceArchiveFileName As String,
destinationDirectoryName As String
)
End Sub
End Class
...并且所有内容都应按预期工作。
你会收到任何错误信息吗? – McNets
没有错误(请参阅编辑) 只是不运行 –
为什么要声明一个空的ExtractToDirectory()方法? – McNets