As wonderful and full-featured as .NET is, it doesn't (yet) do everything. One thing that it doesn't do is provide direct support for FTP, although it provides some nice hooks where FTP support could be added. At this point, you can dig in and build your own FTP support from scratch, but I wouldn't recommend it. Instead, I recommend searching on Google's Microsoft-specific search page for ".NET" and "FTP" and see what you get. Combining that with a quick search on CodeProject.com, I found two examples of an FTP client built for .NET:
If neither of these samples is robust enough or complete enough for you, I'd recommend checking the third component vendors. For example, I happen to know that Mabry Software has an FTP component for .NET and, while I don't have any experience with it myself, I'm a big Zane Thomas fan, who's one of the Mabry founders.
This was first published in January 2003