加载git2.dll的问题?

时间:2012-07-02 19:33:25

标签: c# libgit2sharp

我试图使用libgit2sharp库。我唯一的代码是

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

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

在研究这个问题的同时,我发现this post并且解决方案似乎适用于海报,但对我来说并不适用。这个帖子也是在一年前制作的,并且为它做了一个假设的修复,我使用libgit2sharp的最新分支(香港专业教育学院尝试过较旧的知识库没有变化)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

建议的选项是安装最新的 LibGit2Sharp NuGet package ,它会在正确的位置安装所有内容。

但是,如果您希望手动处理此问题,GitHub存储库将同时包含x86amd64版本的git2.dll。执行mastervNext分支的结帐应检索它们。

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

submodule

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

LibGit2Sharp.dll
|__NativeBinaries
   |__x86
   |  |_git2.dll
   |
   |__amd64
      |_git2.dll