gpt4 book ai didi

c# - LibGit2Sharp DllNotFoundException : Unable to load DLL 'git2-106a5f2'

转载 作者:行者123 更新时间:2023-12-03 14:23:34 26 4
gpt4 key购买 nike

我正在处理一个 vsix 项目,我需要在其中获取有关本地 git 目录的信息。我正在关注 this 文章。当我使用 LibGit2Sharp 库时,出现如下图和错误所述的异常:-

我该如何解决这个问题?
VS 版本详情:
视觉工作室 2019
.Net 框架 4.7.2

最佳答案

LibGit2Sharp 是 native (C) 库 libgit2 的托管语言 (.NET) 包装器。它是一个 P/Invoke 层,加上一个提供 .NET 语义(对象等)的层。但是,这意味着您需要 LibGit2Sharp.dll(托管语言端)和它调用的 git2-xxxxxxx.dll(相应的 native 库)。

native DLL 是 LibGit2Sharp 依赖的 LibGit2Sharp.NativeBinaries 项目的一部分。当您安装 LibGit2Sharp 本身时,它应该被安装(传递)。尽管它尝试将自己设置为将安装在输出目录中的依赖项,但由于在 .NET 项目世界中无法很好地理解 native 二进制文件,这有时会失败,尤其是对于更复杂的项目类型,如 VSIX。

最终,LibGit2Sharp 将在它所在的位置旁边寻找相应的 native DLL。因此,在您的输出目录中,无论您的 VSIX 是从哪里执行的,请尝试将 LibGit2Sharp.NativeBinaries 项目的一部分 git2-xxxxxxx.dll 复制到该位置。

一旦您确定了 git2-xxxxxxx.dll 二进制文件的正确位置,您应该将其复制为项目安装的一部分。 (例如 构建操作 :无, 复制到输出目录 :始终复制)

关于c# - LibGit2Sharp DllNotFoundException : Unable to load DLL 'git2-106a5f2' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59926253/

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