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

.net 使用System.IO.Compression在Mono中创建Zip文件时出错,.net,mono,.net-4.5,.net,Mono,.net 4.5,我正在将一个小型控制台应用程序(.NET 4.5)移植到Mono(运行在OpenSUSE 13.1上的3.4.0)。似乎System.IO.Compression和System.IO.Compression.FileSystem下的一些方法没有实现 如果我的exe中没有包含这两个DLL,我将获得 [错误]致命的未处理异常:System.NotImplementedException:异常 请求的功能未实现 如果我包括这两个DLL,我将获得 [错误]致命的未处理异常:System.InvalidP

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

如果我的exe中没有包含这两个DLL,我将获得

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

如果我包括这两个DLL,我将获得

[错误]致命的未处理异常:System.InvalidProgrameException: System.IO.Compression.ZipFile:CreateFromDirectory中的IL代码无效 (string,string,System.IO.Compression.CompressionLevel,bool):方法 身体是空的

关于这些名称空间,目前似乎没有太多的信息


有没有人使用.NET4.5内置函数在Mono中创建和提取Zip文件?我是否错过了什么,或者我应该使用第三方库,如
SharpZipLib

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


感谢@leppie和@Jester的评论

好吧,那太难了,向Xamarin投诉以实现这些方法。顺便说一句,IIRC,
Ionic.Zip(或类似的东西)用一个小补丁在Mono上工作(参见项目问题页面)。几年前就用过了,太棒了。我想我会切换回Ionic.Zip(在.NET4.5发布时切换到内置的)。谢谢不过Mono本身已经使用了sharpziplib。如果有人足够关心的话,那应该可以很容易地实现缺少的功能。当某些东西没有实现时,找到一种替代方法,通常你可以。