ZipFile 未在 Visual basic 2017 中声明
Posted
技术标签:
【中文标题】ZipFile 未在 Visual basic 2017 中声明【英文标题】:ZipFile is not declared in Visual basic 2017 【发布时间】:2017-05-26 21:13:46 【问题描述】:我正在尝试制作一个小测试应用程序来压缩和提取文件夹,这是我的代码:
Imports System.IO
Imports System.IO.Compression
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FolderBrowserDialog1.ShowDialog()
If Not FolderBrowserDialog1.SelectedPath = "" Then
Dim startPath As String = FolderBrowserDialog1.SelectedPath
Dim zipPath As String = "C:\Users\LENOVO\Desktop\result.zip"
ZipFile.CreateFromDirectory(startPath, zipPath)
End If
End Sub
End Class
错误在ZipFile
命令中:
ZipFile 未声明。由于其保护级别,它可能无法访问。
我搜索了很多,我的目标框架是 4.5.2,所以应该支持 Zip 文件,我使用的是 Visual Studio 2017。
任何帮助将不胜感激。
【问题讨论】:
阅读Important
注释at the top of the FM。
@HansPassant ,我添加了 System.IO.Compression.FileSystem
但它说:Screenshot
这不是 FM 告诉你的。谷歌“vb.net 如何添加程序集引用”以了解如何正确执行。
好的,我知道如何添加参考,但我不知道我想添加的参考是什么。是一个dll文件还是什么?
谢谢,我做到了,它成功了。
【参考方案1】:
我解决了添加引用的问题,只需转到 Project
选项卡 --> Add Reference
--> Assemblies
选项卡,然后选择 System.IO.Compression.FileSystem
并添加它,它应该可以工作,这里还有一些图像:
希望有人会觉得这很有用。
【讨论】:
【参考方案2】:这可能不会影响到每个人,但这是我为解决此问题所必须做的(将其留在这里作为自我说明)。
我最终不得不在我的计算机上找到 System.IO.Compression.dll、System.IO.Compression.Filesystem.DLL 和 System.IO.Compression.ZipFile.dll 并将它们移动到站点的 BIN 文件夹中我正在尝试。一旦我这样做了,任何“未声明”的错误都消失了。
【讨论】:
【参考方案3】:与最初的问题类似的问题。我遵循了上面的其他解决方案/cmets,最终不得不执行以下操作,但细节略有不同:
将System.IO.Compression.FileSystem
添加到程序集引用中
将以下两个导入代码行添加到代码的开头:
Imports System.IO '(Needed for additional file system functions used)
Imports System.IO.Compression.ZipFile
在没有“ZipFile”之前调用函数:
CreateFromDirectory(FileLocation1 & "\", FileLocation1 & ".zip")
我希望这可以支持面临同样问题的其他人。
BR Fnk
【讨论】:
以上是关于ZipFile 未在 Visual basic 2017 中声明的主要内容,如果未能解决你的问题,请参考以下文章
如何同时播放 2 种不同的声音?(Visual basic)