ZipArchive不适用于Universal App(Windows 8.1和Windows Phone 8.1)

时间:2014-10-30 09:35:20

标签: windows-8 windows-runtime windows-8.1 windows-phone-8.1 win-universal-app

嗨我在ZipArchive中为我的通用应用程序遇到此问题。下面的代码适用于Windows Phone但不适用于Windows 8.1应用程序。

我无法理解为什么这不适用于Windows 8.1应用程序,但仅适用于Windows Phone

我得到的例外情况是:“End Of Central Directory中预期的条目数与中央目录中的条目数不对应。”当我尝试阅读条目时。

        using (var zipStream = await folder.OpenStreamForReadAsync(filename))
        {
            using (MemoryStream zipMemoryStream = new MemoryStream((int)zipStream.Length))
            {
                await zipStream.CopyToAsync(zipMemoryStream);

                using (var archive = new ZipArchive(zipMemoryStream, ZipArchiveMode.Read))
                {
                    try
                    {
                        // THIS CAUSE THE EXCEPTION!!!!
                        foreach (var entry in archive.Entries)
                        {

                            if (entry.Name == "")
                            {
                                // Folder
                                await CreateRecursiveFolder(folder, entry);
                            }
                            else
                            {
                                // File
                                await ExtractFile(folder, entry);
                            }
                        }

                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex.Message);
                        //throw;
                    }
                }
            }

0 个答案:

没有答案