我已经看过关于ZipArchive类的MSDN文章,并且理解得还不错。我也看过VBScript ways to extract。这不是一个复杂的类,所以提取东西应该很简单。实际上,它“大多数”起作用。为了参考,我在下面包含了我的当前代码。
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
(或者说任何Get开头的函数)中。看起来这个包在打开时是空的。深入调试后,调试器显示私有成员_zipArchive实际上有部分内容。它们的名称和其他所有东西都是正确的。为什么GetParts
函数无法检索它们呢?我已经尝试将打开的内容转换为ZipArchive,但没有帮助。Grrr.