When using the following code:
ZipFile zip = ZipFile.Read(ms);
An "Path is empty" exception message is triggered by that DotNetZip tries to pass "" to Directory.Create() in ZipEntry.Extract, line 760.
The cause is that the variable targetFileName contain the path using "\" as directory separator. When run on linux the path is interpreted as a single filename making the directory path "".
I would guess it could be fixed in the method ValidateOutput() in the same file line 1417:
- outFileName = outFileName.Replace("/","\");
- outFileName = outFileName.Replace('/', Path.DirectorySeparatorChar);
It works but someone who knows it should have a look at it.