SevenZipSharp on Mono / Linux
本文关键字:Linux Mono on SevenZipSharp | 更新日期: 2023-09-27 18:28:23
我在一个C#应用程序中工作,该应用程序通过扩展到7zip来处理各种类型的归档文件。正如你可以想象的,这是可怕的bug和非性能。
我非常想用SevenZipSharp库来代替它(http://sevenzipsharp.codeplex.com/),但我一辈子都无法让它在Linux上的Mono下工作。有人做到了吗?让它发挥作用的步骤是什么?
我认为真正的7zip Windows DLL在Linux上将完全无用。我尝试使用p7zip
附带的7z.so
文件,但SevenZipSharp抱怨"入口点不存在"。
我还试着获取源代码。有一个看起来很有希望的SevenZipMono
子项目,但由于没有几个源代码文件,它没有构建。(COM.cs
、MonoSpec.cs
、InterfaceWrapper.cs
等)看起来好像由于某种原因,文件实际上还没有提交。在这一点上,我完全陷入了困境。
(我还在GitHub上找到了SevenZipSharp的一个分支,但它似乎与主项目完全相同。它的构建原因也不完全相同。)
关于如何让这些东西真正发挥作用,有什么建议吗?
到目前为止,您有两个选项,
-
将Mono/Linux上的SevenZipSharp修复为PInvoke 7z.so。这需要您更改源代码中的PInvok定义,并重新编译源文件。如果这个项目的开发人员还没有把它做好,我认为你需要非常注意这种方法。
-
切换到完全管理的实现,如
https://github.com/adamhathcock/sharpcompress