我们如何在Visual Studion 2010 Windows应用程序中集成Libgit2库

Nit*_*OO7 2 libgit2 libgit2sharp

我从这个站点下载了两个DLL(libgit2sharp.dllgit2.dll).

之后,我通过在.NET Windows应用程序中添加引用成功添加了Libgit2sharp.dll.现在,当我通过在.NET Windows应用程序中添加引用添加git2.dll时,它会出错:

a reference to 'C:\User\nitesh\git2.dll' could not be added please make sure that the file is accessible and that it is a valid assembly or COM component
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解这个问题吗?

Car*_*eto 5

我从这个站点下载了两个DLL(libgit2sharp.dllgit2.dll).

首先,这不是libgit2/libgit2sharp团队与之有关的分发渠道.

安装为NuGet包:

如果您希望下载预建源,则可以使用NuGet包作为官方版本.请参阅此文章,其中介绍了如何在Visual Studio中安装NuGet包管理器.

这是使LibGit2Sharp可用于您的项目的最简单方法.

从源代码构建:

您可以LibGit2Sharp.dllhttps://github.com/libgit2/libgit2sharp下载源代码并构建C#代码,其中包含git2.dll适用于特定版本的C#代码的预构建版本.

构建程序集的最简单方法是启动build.libgit2sharp.cmd.这将创建一个Build文件夹,您可以在其中找到LibGit2Sharp.dll和NativeBinaries包含本机二进制文件的文件夹.

现在,当我通过在.NET Windows应用程序中添加引用添加git2.dll时,它会出错

至于错误消息,听起来你正试图将它添加git2.dll到项目中,就好像它是CLR/.NET程序集一样.然而它是用C构建的,并不是VS会做任何有用的事情.您无需将其添加到项目中.

它需要可用于libgit2sharp加载.下图描绘了libgit2sharp期望的文件夹层次结构

NativeBinaries+
              |___amd64+
                       |___git2-{shortsha}.dll
                       |___git2-{shortsha}.pdb
              |_____x86+
                       |___git2-{shortsha}.dll
                       |___git2-{shortsha}.pdb
Run Code Online (Sandbox Code Playgroud)

注意:如果将LibGit2Sharp安装为NuGet包,则将在项目输出文件夹中动态创建此文件夹结构.但是,如果您从源代码构建项目,则必须自己将此文件夹结构复制为项目构建过程的一部分.