C# ';IBM437&x27;不是ZipFile读取方法支持的编码名称

C# ';IBM437&x27;不是ZipFile读取方法支持的编码名称,c#,encoding,windows-phone-8.1,zipfile,C#,Encoding,Windows Phone 8.1,Zipfile,当我的代码使用以下命令执行此操作时,我遇到问题: using (ZipFile archive = ZipFile.Read(File)) //<== Crash Here! { foreach (ZipEntry entry in archive.Entries) { entry.Extract(UnZipFolder.Name.ToString(), ExtractExistingFileAction.OverwriteSilently);

当我的代码使用以下命令执行此操作时,我遇到问题:

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

  • 打开软件包管理器控制台并键入安装软件包System.Text.Encoding.CodePages-版本4.4.0。适当更改版本号

  • 将这一行添加到代码中:Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)

  • 如果需要,请附上必要的说明


  • 编码名称是普通的“437”。把文件寄回去,你不想要。为什么不想要呢如果您使用的是.net core,这将解决您的问题: