- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Debug模式下一切正常,但是当我们在 Release模式下运行它时,ExtractToDirectory 调用失败。
这里是函数供引用。只是为了确保我们没有做任何奇怪的事情。
private bool UnzipFiles()
{
bool toReturn = true;
try
{
UpdateStatus("Almost done...");
string file = Path.Combine (DownloadFolder, "ZipFile.zip");
if(System.IO.Directory.Exists(UnzippingDestinationFolder))
{
System.IO.Directory.Delete(UnzippingDestinationFolder, recursive:true);
}
System.IO.Compression.ZipFile.ExtractToDirectory(file, UnzippingDestinationFolder);
UpdateStatus("Finished!");
var files = System.IO.Directory.GetFiles(UnzippingDestinationFolder);
int m = 3;
}
catch (Exception e)
{
toReturn = false;
}
最后,这是我们得到的异常。
System.NullReferenceException: Object reference not set to an instance of an object
at SharpCompress.Common.Zip.Headers.ZipFileEntry.DecodeString (System.Byte[] str) [0x00000] in <filename unknown>:0
at SharpCompress.Common.Zip.Headers.DirectoryEntryHeader.Read (System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0
at SharpCompress.Common.Zip.ZipHeaderFactory.ReadHeader (UInt32 headerBytes, System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0
at SharpCompress.Common.Zip.SeekableZipHeaderFactory+<ReadSeekableHeader>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at SharpCompress.Archive.Zip.ZipArchive+<LoadEntries>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at SharpCompress.LazyReadOnlyCollection`1+LazyLoader[SharpCompress.Archive.Zip.ZipArchiveEntry].MoveNext () [0x00000] in <filename unknown>:0
at System.IO.Compression.ZipArchive.CreateZip (System.IO.Stream stream, ZipArchiveMode mode) [0x00000] in <filename unknown>:0
at System.IO.Compression.ZipArchive..ctor (System.IO.Stream stream, ZipArchiveMode mode, Boolean leaveOpen, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0
at System.IO.Compression.ZipFile.Open (System.String archiveFileName, ZipArchiveMode mode, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0
at System.IO.Compression.ZipFile.ExtractToDirectory (System.String sourceArchiveFileName, System.String destinationDirectoryName, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0
at System.IO.Compression.ZipFile.ExtractToDirectory (System.String sourceArchiveFileName, System.String destinationDirectoryName) [0x00000] in <filename unknown>:0
at NewBaron.Screens.DownloadContentScreen.UnzipFiles () [0x00000] in <filename unknown>:0
最佳答案
对 Victor 的解决方案稍作改动。不链接 SDK 会生成一个 53MB 的 apk。对于 Play 商店的 apk 大小限制来说太大了。
我将链接行为设置为仅链接 SDK 程序集,它使 apk 大小降至 29MB
这是更新后的窗口。
关于c# - Xamarin Android : System. IO.Compression.ZipFile.ExtractToDirectory 在 Release模式下失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419111/
我有一直在使用的 ZipFile 方法,但它不再起作用了。代码无法编译,到处都是红色的波浪线。我究竟做错了什么?当我将鼠标放在红色部分上时,它通常会告诉我出了什么问题,但我已经对所有内容进行了三次检查
我正在解压这样的 zip 文件 ZipFile.ExtractToDirectory(zipFile, extractTo); 但是我得到了一个 {"Could not find a part of
我有几个包含文件的文件夹,一些文件夹的名称中包含非拉丁符号(在我的例子中是俄语)。此文件夹正在发送到“D:\test.zip”中的 zip 存档(通过 Windows 资源管理器)。然后我执行 met
我正在尝试用 C# 提取一个 zip 文件。我已经包括使用 System.IO.Compression;,但是当我输入 System.IO.Compression. 时,我看到的唯一方法是 Compr
我有一个简单的 powershell 脚本,可以简化一些部署任务。 在脚本的前半部分,我创建了一个映射到远程服务器上的 Z: 的虚拟驱动器。绊倒的部分是当它试图解压缩映射到 Z 的远程服务器上的文件时
我想用 C# (VS2012) 中的 ZipFile 类解压缩文件。即使我直接从 win 资源管理器复制路径,我也会收到此错误: System.ArgumentException: Illegales
我想用 C# (VS2012) 中的 ZipFile 类解压缩文件。即使我直接从 win 资源管理器复制路径,我也会收到此错误: System.ArgumentException: Illegales
我正在尝试解压缩一个 zip 文件: public string unzip(string zipFilePath, string destinationFolder) { try {
在 Debug模式下一切正常,但是当我们在 Release模式下运行它时,ExtractToDirectory 调用失败。 这里是函数供引用。只是为了确保我们没有做任何奇怪的事情。 private b
我是一名优秀的程序员,十分优秀!