Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 类型为'的值;字符串';无法转换为';字节的一维数组';_.net_Vb.net_Visual Studio 2010 - Fatal编程技术网

.net 类型为'的值;字符串';无法转换为';字节的一维数组';

.net 类型为'的值;字符串';无法转换为';字节的一维数组';,.net,vb.net,visual-studio-2010,.net,Vb.net,Visual Studio 2010,我试图让一个应用程序找到它的当前路径/目录,然后用它安装一个zip文件,然后将它解压缩到指定的位置。(自拍) 错误是使用writealBytes命令时progDirectory所在的位置 任何帮助都将不胜感激!:) 您似乎误解了如何使用writealBytes 的第二个参数是要写入的数据(byte[]data)。您正在传递一个表示文件路径的字符串,这就是出现此错误的原因。WriteAllBytes的第二个参数应该是您尝试写入的字节。您当前正在传递一个字符串。。。写字节有什么意义?i、 你想用它实

我试图让一个应用程序找到它的当前路径/目录,然后用它安装一个zip文件,然后将它解压缩到指定的位置。(自拍)

错误是使用writealBytes命令时progDirectory所在的位置


任何帮助都将不胜感激!:)

您似乎误解了如何使用
writealBytes


的第二个参数是要写入的数据(
byte[]data
)。您正在传递一个表示文件路径的字符串,这就是出现此错误的原因。

WriteAllBytes的第二个参数应该是您尝试写入的字节。您当前正在传递一个字符串。。。写字节有什么意义?i、 你想用它实现什么?zip文件被写入用户选择的目录,然后解压缩并删除。如果我使用我的.Resources.Resource代码,则有效。但我希望它与程序分开。为什么不直接使用方法将zip文件复制到用户选择的目录中呢?那么我将如何更改它来解决这个问题呢?或者更确切地说,如何将字符串转换为字节数组?您是否正在尝试将
progDirectory
写入您的文件?考虑到这不是创建zip文件的方法,但是如果您只想将
progDirectory
转换为字节数组,这是很容易做到的。我将分发.exe和.zip文件,因此我想获得.exe文件的位置。(或.zip,如果可能的话)如果我使用:My.Computer.FileSystem.writealBytes(SelFolder&“\Resource.zip”,My.Resources.Resource,False),它可以正常工作。@user2580915:我想说的是,你不会将普通字节写入zip文件。你应该压缩信息。你有很多选择来创建zip文件。我不是在创建.zip文件。我试图找到它的位置,然后从他们的网站上解压并安装。如果位置是My.Resources.Resource,则可以正常工作
Dim progDirectory As String

Public Sub Install()
    progDirectory = Environment.GetFolderPath(System.Environment.CurrentDirectory)
    My.Computer.FileSystem.WriteAllBytes(SelFolder & "\Resource.zip", progDirectory, False)
    Unzip(SelFolder & "\Resource.zip", SelFolder)
End Sub