调试时出现以下错误。
发生了未处理的异常
无法完成操作,因为此路径中已存在文件“C:\ 32bit \ abc.dll”
如何解决此问题?
Imports System
Imports System.IO
Public Class Form1
Private Sub ReactorButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReactorButton1.Click
If ReactorComboBox1.SelectedItem = "Some Program" Then
My.Computer.Network.DownloadFile _
("http://somesite/test/abc.dll", _
"C:\32bit\abc.dll", True, 500)
System.IO.File.Move("C:\32bit\abc.dll" "C:\Program Files\Some Program\abc.dll")
My.Computer.Network.DownloadFile _
("http://www.somerandomsite/test1/abcd _
"C:\64bit\abcd.dll", True, 500)
System.IO.File.Move("C:\64bit\abcd.dll… "C:\Program File (x86)\Some Other Program\abcd.dll")
End If
End Sub
我也试过
Try
Catch ex As Exception
System.IO.File.Delete("C:\32bit\abc.dll")
End Try
Try
Catch ex As Exception
My.Computer.Network.DownloadFile _
("http://somesite.com/folder/32bit/abc.dll", _
"C:\32bit\abc.dll", True, 500)
End Try
System.IO.File.Copy("C:\32bit\abc.dll", "C:\Program Files (x86)\A Program\Sub Folder\abc.dll")
但我仍然得到同样的未处理异常错误。
答案 0 :(得分:0)
这是因为文件存在。您需要在下载之前将其删除(您的版本删除位置错误,应该在Try中,而不是Catch)
检查 My.Computer.Network.DownloadFile Method 。您可以在DownloadFile
中使用覆盖标记:
覆盖设置为False,目标文件已存在(IOException)。
答案 1 :(得分:0)
查看 My.Computer.Network.DownloadFile Method (MSDN)。
仅供参考,在catch
块中运行代码是不好的编码习惯。 catch
块通常意味着真正捕捉到这一点。
您可能遇到的问题是您尝试在文件完全下载之前移动文件,因此您将获得例外。