Zipping a file using DotNetZip on C# on mac

2020-05-02 18:03发布

问题:

I am trying to zip a file or directory in C# using the following snippet of code on a mac that uses DotNetZip. But I get some exceptions below, what am I doing wrong?

using Ionic.Zip;

namespace CSLab
{
   class Program
   {
      static void Main(string[] args)
      {
         using (ZipFile zip = new ZipFile())
         {
            zip.Password = "password";
            zip.AddDirectory("./test");
            zip.Save("a.zip");
         }
      }
   }
}


Unhandled Exception: System.ArgumentException: 'IBM437' is not a 
supported encoding name. For information on defining a custom 
encoding, see the documentation for the Encoding.RegisterProvider method.
Parameter name: name
  at System.Globalization.EncodingTable.GetCodePageFromName(String name)
  at System.Text.Encoding.GetEncoding(String name)
  at Ionic.Zip.ZipFile..ctor()
  at CSLab.Program.Main(String[] args) in 
  bash: line 1: 17217 Abort trap: 6           
  "/usr/local/share/dotnet/dotnet" 
  "/usr../bin/Debug/netcoreapp2.0/CSLab.dll"