ZipEntry の内部には、名前をクリーンアップするパブリック関数があります。"ZipEntry.CleanName(あなたの文字列)". エントリを追加し、削除しようとしているときに、この呼び出しを行います。注:ファイル パスにこれを使用している場合、CleanName 関数によって "\" が "/" に置き換えられても、zip ファイル内のパスが正しく解釈されます。
**
Zipentry の追加
**
zipEntryKey = file.FullName.Replace(file.Directory.Root.ToString(), string.Empty);
zipEntryKey = ZipEntry.CleanName(zipEntryKey);
ZipEntry entry = new ZipEntry(zipEntryKey);
entry.DateTime = file.LastWriteTime;
Stream fileStream = Minify(file);
byte[] buffer = new byte[fileStream.Length];
entry.Size = fileStream.Length;
fileStream.Read(buffer, 0, buffer.Length);
fileStream.Close();
zipStream.PutNextEntry(entry);
zipStream.Write(buffer, 0, buffer.Length);
zipStream.CloseEntry();
ZIPENTRY の削除
zipEntryKey = file.FullName.Replace(file.Directory.Root.ToString(), string.Empty);
zipEntryKey = ZipEntry.CleanName(zipEntryKey);
if (existingZip.FindEntry(zipEntryKey, true) > -1)
{
existingZip.BeginUpdate();
ZipEntry Existing = existingZip[existingZip.FindEntry(zipEntryKey, true)];
existingZip.Delete(Existing);
existingZip.CommitUpdate();
}