如何在MonoTouch中使用System.IO.Packaging

时间:2012-04-10 08:27:41

标签: .net xamarin.ios zip system.io.packaging

我在尝试使用MonoTouch中的System.IO.Packaging时遇到了问题。 我找不到这个资源。 谁能告诉我在哪里找到这个资源?

3 个答案:

答案 0 :(得分:3)

据我所知,我在MonoTouch中没有。

如果您需要Zip支持,SharpZibLib适用于MonoTouch。

如果您使用SharpZipLib,请注意此问题:Monotouch - ICSharpCode.SharpZipLib giving an error

答案 1 :(得分:2)

System.IO.PackagingWindowsBase.dll的一部分,MonoTouch(5.x)未附带该System.IO.Packaging

然而,它的类型(如ZipPackage)与普通 zip文件并不完全兼容,因此如果您要处理.zip文件,这可能不太理想。在这种情况下,您最好使用像@Jamie提到的替代库。

如果您真的想要某些特定类型{{1}},那么您可以尝试从gihub提供的Mono源代码(开源)构建程序集。

答案 2 :(得分:1)

如果你想压缩/解压缩一些东西,你可能还想看看在MT中也可以使用的System.IO.Compression.GZIPStream()。像这样使用它:

string sContent;
string sDest = "zipped file with text content.zip";
using ( FileStream oIn = File.OpenRead( sDest ) )
using ( MemoryStream oOut = new MemoryStream() )
using ( GZipStream oZip = new GZipStream( oIn, CompressionMode.Decompress ) )
using ( StreamReader oReader = new StreamReader( oOut ) )
{
    oZip.CopyTo( oOut );
    oOut.Seek( 0, SeekOrigin.Begin );
    sContent = oReader.ReadToEnd();
}