It's a MSBuild task to work with FTP server.
Why?
In short - because MSBuild cannot upload files to FTP server.
In details:
Typical deployment of a simple ASP.NET site consists of the following steps:
- Get sources of the site from source control.
- Compile the site.
- Upload compiled site to ftp server of hosting.
All these steps should be a piece of cake for a build engine. And
.NET Framework 2.0 includes one - MSBuild (similar to Ant/NAnt).
First step can be easily done with a command-line client of source control system.
Second step is a standard task of MSBuild.
But the last step - ftp upload - is not there...
.NET Framework 2.0 includes implementation of ftp client
(FtpWebRequest).
And it's strange that ftp operations are not included in MSBuild (maybe I missed them somehow though...).
So the goal of the project is to create the missing task.
What is included in the sourceforge.net project?
The solution (in terms on Visual Studio) consists of:
- FtpParse - a module to parse FTP LIST responses.
By some reason format of LIST was not specified in RFC,
and different FTP servers generates different responses.
But there is a ftpparse() function
written in C by D. J. Bernstein.
The FtpParse module is port of the function.
Almost nothing was changed, so it's still C-like code, which looks pretty strange in C# :)
It will be rewritten, but I have to create unit tests first, to be sure everything keep working after changes.
- FtpClient - a module to work with FTP servers.
Wraps .NET Framework functionality in more convenient way (I hope ;)).
Useful stuff if you need to work with FTP.
Currently it works synchronously, be aware of it if you are going to use it in your apps.
- FtpTask -
a task for MSBuild for ftp operations (e.g. upload local directory to remote directory).
|