5

我正在尝试使用 libgit2sharp 库。我唯一的代码是

Repository repository = new Repository(@"C:\Path\To\Repo");

当我运行它时,我收到一条错误消息:无法加载 DLL 'git2':找不到指定的模块。因此,我手动从 libgit2sharp 中抓取了 git2.dll 并将其移动到目录中。之后运行相同的程序时,我收到另一个错误:尝试加载格式不正确的程序。

在研究这个时,我发现这篇文章和似乎适用于海报的解决方案对我不起作用。那篇文章也是在一年前发布的,并且对其进行了假定的修复,我使用的是 libgit2sharp 的最新分支(我尝试过旧的存储库没有变化)

有任何想法吗?

4

1 回答 1

2

推荐的选项是安装最新的LibGit2Sharp NuGet 包,它将负责将所有内容安装在正确的位置。

x86但是,如果您更喜欢手动处理,amd64GitHub存储库包含git2.dll. 执行mastervNext分支的检出应该检索它们。

请注意,每个版本的 LibGit2Sharp 都针对特定版本的 libgit2 二进制文件。每个 LibGit2Sharp 分支都包含一个 libgit2 子模块,它指向被包装的 libgit2 提交。

子模块

为了让它完美地工作,LibGit2Sharp 程序集期望git2.dll二进制文件位于特定的树结构中。

LibGit2Sharp.dll
|__NativeBinaries
   |__x86
   |  |_git2.dll
   |
   |__amd64
      |_git2.dll
于 2012-07-02T21:21:23.403 回答