Как использовать System.IO.Packaging в MonoTouch
У меня возникла проблема при попытке использовать System.IO.Packaging
в MonoTouch. Я не могу найти этот ресурс. Кто-нибудь может сказать мне, где найти этот ресурс?
3 ответа
Насколько я вижу, я не доступен в MonoTouch.
Если вам нужна поддержка Zip, SharpZibLib работает с MonoTouch.
Если вы используете SharpZipLib, следите за этой проблемой: Monotouch - ICSharpCode.SharpZipLib выдает ошибку
System.IO.Packaging
это часть WindowsBase.dll
который не поставляется с MonoTouch (5.x).
Однако это типы, такие как ZipPackage
не полностью совместимы с обычными zip-файлами, поэтому это может быть не идеально, если вы хотите обрабатывать.zip-файлы. В этом случае вам лучше использовать альтернативные библиотеки, такие как упомянутая @Jamie.
Если вы действительно хотите некоторые конкретные типы System.IO.Packaging
Затем вы можете попробовать собрать сборку из исходного кода Mono (с открытым исходным кодом), который доступен на gihub.
Если вы хотите сжать / распаковать что-то, вы также можете взглянуть на 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();
}