Ziparchive:如何从 ziparchive 关闭创建的条目

Ziparchive: How to close the created entry from ziparchive

我写了一个如下的方法来绑定多个 Memorystream 到 ziarchive。该代码适用于一个流,但如果我通过迭代添加多个流,那么它会在 for 循环的第二行显示以下错误。

 System.IO.IOException: 'Entries cannot be created 
 while previously created entries are still open.' 

我的代码,

 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, 
 leaveOpen: false))
  {

        for (int i = 0; i < msList.Count; i++)
        {
          msList[i].Position = 0;
         var createenter = zip.CreateEntry("123"+i+".jpg", 
         CompressionLevel.Optimal);
         msList[i].CopyTo(createenter.Open());

         }
   }

可能 错过了 using 打开的 Stream?

 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, leaveOpen: false))
 {
    for (int i = 0; i < msList.Count; i++)
    {
        msList[i].Position = 0;
        var createenter = zip.CreateEntry("123"+i+".jpg", 
        CompressionLevel.Optimal);
        using (var s = createenter.Open())
        {
            msList[i].CopyTo(s);
        }
    }
}