Macos Mac上的Zip文件使用ingicsharp
我正在使用mono和monobjc开发一个在MacOSX10.6上运行的应用程序。我正在使用ICSharpCode.SharpZip向zip文件添加一些文件。守则如下—Macos Mac上的Zip文件使用ingicsharp,macos,mono,sharpziplib,Macos,Mono,Sharpziplib,我正在使用mono和monobjc开发一个在MacOSX10.6上运行的应用程序。我正在使用ICSharpCode.SharpZip向zip文件添加一些文件。守则如下— var ms = new MemoryStream(); var zipStream = new ZipOutputStream(ms); zipStream.PutNextEntry(new ZipEntry(Path.GetFileName(file)) {DateTime = File.GetCreat
var ms = new MemoryStream();
var zipStream = new ZipOutputStream(ms);
zipStream.PutNextEntry(new ZipEntry(Path.GetFileName(file))
{DateTime = File.GetCreationTime(file),
Size = new FileInfo(file).Length});
有时(并非总是如此),PutNewEntry代码会引发以下异常-
System.NotSupportedException:不支持代码页437
在System.Text.Encoding.GetEncoding(Int32代码页)[0x00000]中:0
位于:0中的ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToArray(System.String str)[0x00000]
在:0中的ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToArray(Int32标志,System.String str)[0x00000]处
在ICSharpCode.SharpZipLib.Zip.ZipOutputStream.PUTNEXENTRY(ICSharpCode.SharpZipLib.Zip.ZipEntry条目)[0x00000]中:0
在(包装器远程处理调用时加检查)ICSharpCode.SharpZipLib.Zip.ZipOutputStream:PutNextEntry(ICSharpCode.SharpZipLib.Zip.ZipEntry)
我有以下两个问题:
我通过创建tar.gzip而不是使用zip修复了这个问题。我使用ICSharp本身来创建tar文件。Mac似乎不喜欢zip。这也可能是因为我在Mac端的Mono框架中使用ICSharp,在windows端使用ICSharp(从web下载)。但是使用tar.gzip解决了这个问题。您是否尝试从控制台应用程序中隔离并运行相同的代码?出现错误了吗?@Laurent-我试过两次,效果很好。正如我所说,这种情况并不总是发生,有时也会发生。