Tag: system.io.packaging

使用C#和System.IO.Packaging以编程方式从Zip存档中提取文件

我有一堆ZIP文件,迫切需要一些分层重组和提取。 目前,我可以做的是创build目录结构并将zip文件移动到适当的位置。 我缺less的神秘的奶酪是从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某个地方(或者为此而获取任何东西 )。 看来这个软件包在打开时是空的。 深入挖掘debugging器显示私有成员_zipArchive显示它实际上有部分。 有正确的名字和一切的部分。 为什么GetParts函数不能检索它们? 我试着把开放的ZipArchive放在一起,这没有帮助。 哎呀。

System.IO.Packaging程序

我有我的项目设置为.NET Framework 4.0。 当我添加System.IO.Packaging ,它说它不存在。 当我尝试添加它作为项目的参考时,它也不显示。 我如何添加System.IO.Packaging到我的C#项目?