first things first, dotNetZip is awesome. I recently implemented a backup & restore function. Works like charm.
When debugging the code I also encountered the PathTooLongException, using ZipFile.AddDirectory() to save a zip. Problem here, the resulting exception doesn't even say which path was to long or whatever. Using the DotNetZip devkit I saw this happened in
ZipEntry.Create when File (Directory) will be first accessed with File.GetLastWriteTime(filename) (line 2402). Well, the path really was too long :).
On the other hand two functions in dotNetZip could be helpfull.
1. throw custom Exception that actually tells you the path.
2. A flag like IgnoreInvalidPaths (perhaps combined with an event InvalidPathEncountered) could help scenarious were you just want to zip what you get out of a directory.
Just a suggestion. Thx again, saved me tons of time.