У меня есть множество архивов, в каждом три файлика. Из них два нужно изменить.
// Открываю архив
using (ZipArchive archive = new ZipArchive(ms, ZipArchiveMode.Update))
{
// idxs - memoryStream указывающие на файлы которые надо изменить
foreach (var idx in idxs)
{ //десериализация xml
var msIndex = Deserialize.SerializeObjAlt(idx.Value);
// удаляем старый файл
ZipArchiveEntry Entry0 = archive.GetEntry(idx.Key);
Entry0.Delete();
// создаем новый файл
ZipArchiveEntry Entry1 = archive.CreateEntry(idx.Key);
using (var writer = Entry1.Open())
{
msIndex.Position = 0;
msIndex.CopyTo(writer);
}
}
}
Но к сожалению не работает - архив без изменений. Что могло пойти не так ??