【发布时间】:2012-04-10 08:27:40
【问题描述】:
尝试在 MonoTouch 中使用 System.IO.Packaging 时遇到问题。
我找不到这个资源。
谁能告诉我在哪里可以找到这个资源?
【问题讨论】:
标签: .net xamarin.ios zip system.io.packaging
尝试在 MonoTouch 中使用 System.IO.Packaging 时遇到问题。
我找不到这个资源。
谁能告诉我在哪里可以找到这个资源?
【问题讨论】:
标签: .net xamarin.ios zip system.io.packaging
据我所知,我在 MonoTouch 中不可用。
如果您需要 Zip 支持,SharpZibLib 可与 MonoTouch 一起使用。
如果您使用 SharpZipLib,请注意此问题:Monotouch - ICSharpCode.SharpZipLib giving an error
【讨论】:
System.IO.Packaging 是 WindowsBase.dll 的一部分,它不随 MonoTouch (5.x) 一起提供。
但是它的类型,例如 ZipPackage 与 普通 zip 文件不完全兼容,因此如果您要处理 .zip 文件,这可能不是理想的选择。在这种情况下,您最好使用@Jamie 提到的替代库。
如果您真的想要一些特定类型 System.IO.Packaging,那么您可以尝试从 gihub 中提供的 Mono 源代码(开源)构建程序集。
【讨论】:
如果您想压缩/解压缩某些内容,您可能还想看看 System.IO.Compression.GZIPStream() 也可以在 MT 中使用。像这样使用它:
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();
}
【讨论】: