gpt4 book ai didi

c# - Mono/Linux 上的 SevenZipSharp

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:13 25 4
gpt4 key购买 nike

我在 C# 应用程序中工作,该应用程序通过 shelling out 到 7zip 来处理各种类型的存档文件。正如您所想象的,这是非常糟糕的错误和低性能。

我非常想用 SevenZipSharp 库 ( http://sevenzipsharp.codeplex.com/ ) 替换它,但我终其一生都无法让它在 Linux 上的 Mono 下工作。有没有人设法做到这一点?让它发挥作用的步骤是什么?

我假设实际的 7zip Windows DLL 在 Linux 上将完全无用。我尝试使用 p7zip 附带的 7z.so 文件,但 SevenZipSharp 提示“入口点不存在”。

我也试过获取源代码。有一个看起来很有希望的 SevenZipMono 子项目,但由于几个源代码文件不存在,它没有构建。 (COM.csMonoSpec.csInterfaceWrapper.cs 等)看起来好像文件还没有提交一些原因。在这一点上,我完全被卡住了。

(我还在 GitHub 上找到了 SevenZipSharp 的一个分支,但它似乎与主项目完全相同。它也因为完全相同的原因而没有构建。)

关于如何让这些东西真正起作用有什么建议吗?

最佳答案

到目前为止你有两个选择,

  1. 将 Mono/Linux 上的 SevenZipSharp 修复为 PInvoke 7z.so。这需要您更改源代码中的 PInvoke 定义,并重新编译源文件。如果连那个项目的开发者都还没有把它做对,我想你需要非常注意那个方法。

  2. 切换到完全托管的实现,例如

https://github.com/adamhathcock/sharpcompress

关于c# - Mono/Linux 上的 SevenZipSharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com