使用System.IO.Compression在Mono中创建Zip文件时出错

时间:2014-07-11 14:42:55

标签: .net mono .net-4.5

我将一个小型控制台应用程序(.NET 4.5)移植到Mono(在OpenSUSE 13.1上运行3.4.0)。似乎System.IO.CompressionSystem.IO.Compression.FileSystem下的某些方法没有实现?

如果我不将这两个DLL包含在我的exe中,我会得到

  

[ERROR]致命的未处理的异常:System.NotImplementedException:The   请求的功能未实现。

如果我包含这两个DLL,我会得到

  

[错误]致命的不受欢迎的异常:System.InvalidProgramException:   System.IO.Compression.ZipFile:CreateFromDirectory中的IL代码无效   (string,string,System.IO.Compression.CompressionLevel,bool):方法   身体是空的。

http://www.go-mono.com/status/似乎没有太多关于这些命名空间的信息。

有没有人使用.NET 4.5内置函数在Mono中创建和提取Zip文件?我是否错过了某些问题,还是应该使用像SharpZipLib这样的第三方库?

1 个答案:

答案 0 :(得分:0)

我最终用System.IO.Compression替换了SharpZipLib.FastZip次来电。它非常简单,只涉及从NuGet获取二进制文件,用SharpZipLib替换内置函数调用,并在Mono上运行。

感谢@leppie和@Jester的评论!