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 中声明的主要内容,如果未能解决你的问题,请参考以下文章

零基础学Visual Basic(第2版)pdf

如何同时播放 2 种不同的声音?(Visual basic)

Visual Basic程序设计应用教程(第2版)

Visual Studio 2017 Task Runner Explorer 未在发布时运行事件

21天学通Visual.Basic pdf

Visual.Basic语法基础之四