Steps to repro:
1. Open a ZipArchive, which contains an existing file - for example, test.txt.
2. Get the ZipArchiveEntry for this file - i.e. zipArchive.GetEntry("test.txt").
3. Delete the ZipArchiveEntry - zipArchiveEntry.Delete().
zipArchive.Entries should no longer contain the deleted ZipArchiveEntry. This is what happens in the .NET Framework implementation.
zipArchive.Entries does contain the deleted ZipArchiveEntry.
From reading the source code, it looks like ZipArchiveEntry.Delete() calls Archive.zipFile.RemoveEntry(entry) - which removes the entry from SharpCompress.Archive.Zip.ZipArchive's Entries collection, but not System.IO.Compression.ZipArchive.Entries.
Pushed PR: https://github.com/mono/mono/pull/3357
Fixed by https://github.com/mono/mono/commit/179e33d1006d8e9d95183cf6903ebe2b710cd0da.