Can you please provide us with a small code which reproduce the issue?
I have tried it for myself and it is working as expected (FileTransferring event is triggered once for each file).
I tried this:
var client = new Sftp();
client.Connect("test.rebex.net");
client.Login("demo", "password");
client.TransferProgressChanged += (s, e) =>
{
switch (e.TransferState)
{
case TransferProgressState.FileTransferring:
Console.WriteLine("FileTransferring: {0}", e.TargetPath);
break;
case TransferProgressState.FileTransferred:
Console.WriteLine("FileTransferred: {0}", e.TargetPath);
break;
case TransferProgressState.TransferCompleted:
Console.WriteLine("TransferCompleted: {0}", e.TargetPath);
break;
}
};
client.Download("*", "c:/temp", 0, 0, ActionOnExistingFiles.OverwriteAll);