c# - “IBM437”不是 ZipFile 读取方法支持的编码名称

标签 c# encoding windows-phone-8.1 zip

当我的代码使用以下命令执行时出现问题:

using (ZipFile archive = ZipFile.Read(File))    //<== Crash Here!
{
    foreach (ZipEntry entry in archive.Entries)
    {
        entry.Extract(UnZipFolder.Name.ToString(), ExtractExistingFileAction.OverwriteSilently);   
    }
}

当 ZipFile 尝试读取我的文件时崩溃,它是一个字符串并包含 sincrofit.zip 然后崩溃并抛出此异常:

'System.ArgumentException' Additional information: 'IBM437' is not a supported encoding name.

最佳答案

在 Visual Studio 中:

  1. 打开包管理器控制台并输入 Install-Package System.Text.Encoding.CodePages -Version 4.4.0。适当更改版本号。

  2. 将此行添加到您的代码中:Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

  3. 如果需要,附上必要的指令。

关于c# - “IBM437”不是 ZipFile 读取方法支持的编码名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993251/

相关文章:

xaml - 如何在 WP 8.1 中与多个页面共享 BottomAppBar

c# - Windows Phone 8.1 Runtime 中的投影效果?

c# - Linq-to-Sql 过滤最后一个元素的日期

ruby-on-rails - 在 Rails 应用程序中使用 latin1 编码

c# - 检测c#中的特殊符号

c# - 使用 WinRT 不引发暂停事件

c# - 在 C# 中,如何使负号出现在从右到左框中的数字左侧?

c# - 更新所有已安装的 NuGet 可移植库后,PCL 项目未编译

c# - 使用网络服务将文档上传到 Sharepoint 2013 Online

c# - 将 C# 源代码写入文件