gpt4 book ai didi

c# - 无效的 il 代码 System.IO.Compression.ZipFile.OpenRead() 方法主体为空

转载 作者:行者123 更新时间:2023-11-30 20:52:09 29 4
gpt4 key购买 nike

我正在使用 Xamarin 和 MVVMCross 实现一个 Android 应用程序。在我的 PCL 中,我有一个 ZipUtility 类和以下方法:

public NoDataResponse UnCompressZipFile(string path, string filename)
{
NoDataResponse response = new NoDataResponse();
StringBuilder sb = new StringBuilder();
sb.AppendLine(string.Format("\r\nUnzipping '{0}' in '{1}' folder...", filename, path));

try
{


using (ZipArchive archive = ZipFile.Open(filename, ZipArchiveMode.Read))
{
foreach (System.IO.Compression.ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
System.IO.Compression.ZipFile.ExtractToDirectory(filename, path);
break;
}
}
}


response.IsCallSuccessful = true;
sb.AppendLine(string.Format("\r\nFinished Unzipping file {0}.\r\n", filename));

response.BusinessEntityMessage = sb.ToString();
}

catch (Exception ex)
{
response.IsCallSuccessful = false;
response.BusinessEntityMessage = "\r\nUNZIPPING ERROR: " + ex.Message + "\r\n";
}

return response;
}

我的方法中的 ZipFile 类是 System.IO.Compression(System.IO.Compression.FileSystem 命名空间)的一部分。

当我执行该方法时,出现以下错误:

System.InvalidProgramException:System.IO.Compression.ZipFile 中的无效 IL 代码:Open(字符串,System.IO.Compression.ZipArchiveMode):方法主体为空。在 HHT.Core.Globals.ZipUtility.UnCompressZipFile(System.String 路径,System.String 文件名)[0x00033] 在 c:\Sandbox\HHT-ANDROID\HHTApp\HHT.Core\Globals\ZipUtility.cs:32

我不确定缺少什么,因为相同的代码在进入 PCL 之前运行良好。

我还尝试使用 DROIDUI 项目中的依赖注入(inject) (N=31 slodge) 运行相同的类,但仍然出现相同的错误。

如果对此有任何意见或想法,我将不胜感激。

最佳答案

听起来您正在将引用程序集部署到您的 Android 设备(引用程序集仅用于编译,因此不包含 IL)。

您使用的是哪个版本的 System.IO.Compression?我假设您使用的是 Microsoft.Bcl.Compression NuGet 包?

我们的 NuGet 包不提供适用于 Android 的实现。事实上,我们只为 Windows Phone 提供了一个实现——对于所有其他平台,我们使用平台附带的实现。

我不确定 Xamarin 是否支持 System.IO.Compression.dll(包括 ZipArchive)。它以前可能起作用的原因是因为您在安装 NuGet 包后重新定位了 PCL。

关于c# - 无效的 il 代码 System.IO.Compression.ZipFile.OpenRead() 方法主体为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166151/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com