我有一堆急需进行分层重组和提取的 ZIP 文件。目前,我可以做的是创建目录结构并将 zip 文件移动到正确的位置。我缺少的神秘奶酪是从 ZIP 存档中提取文件的部分。
我在ZipArchive
课堂上看过 MSDN 文章,并且对它们理解得很好。我还看到了VBScript 提取. 这不是一个复杂的类,因此提取内容应该非常简单。事实上,它“大部分”都有效。我在下面包含了我当前的代码以供参考。
using (ZipPackage package = (ZipPackage)Package.Open(@"..\..\test.zip", FileMode.Open, FileAccess.Read))
{
PackagePartCollection packageParts = package.GetParts();
foreach (PackageRelationship relation in packageParts)
{
//Do Stuff but never gets here since packageParts is empty.
}
}
问题似乎出在某个地方GetParts
(或就此而言获得任何东西)。似乎打开的包裹是空的。深入挖掘调试器显示私有成员 _zipArchive 表明它实际上有部分。具有正确名称的零件和所有内容。为什么函数不会GetParts
检索它们?我曾尝试将开放投射到 ZipArchive 并没有帮助。嗯。