Hey... As someone already stated that you cannot really download the folder as such, but you need to download the files one by one. You can get the list of the files from the 'ListDirectory'... Try this maybe...
Private Shared Sub Main(args As String())
Dim ftpRequest As FtpWebRequest = DirectCast(WebRequest.Create("ftp://mywebsite.com/"), FtpWebRequest)
ftpRequest.Credentials = New NetworkCredential("user345", "pass234")
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory
Dim response As FtpWebResponse = DirectCast(ftpRequest.GetResponse(), FtpWebResponse)
Dim streamReader As New StreamReader(response.GetResponseStream())
Dim directories As New List(Of String)()
Dim line As String = streamReader.ReadLine()
While Not String.IsNullOrEmpty(line)
directories.Add(line)
line = streamReader.ReadLine()
End While
streamReader.Close()
Using ftpClient As New WebClient()
ftpClient.Credentials = New System.Net.NetworkCredential("user345", "pass234")
For i As Integer = 0 To directories.Count - 1
If directories(i).Contains(".") Then
Dim path As String = "ftp://mywebsite.com/" + directories(i).ToString()
Dim trnsfrpth As String = "D:\\Test\" + directories(i).ToString()
ftpClient.DownloadFile(path, trnsfrpth)
End If
Next
End Using
End Sub
Hope it helps...!