Nit*_*OO7 2 libgit2 libgit2sharp
我从这个站点下载了两个DLL(libgit2sharp.dll和git2.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)
有人可以帮我理解这个问题吗?
我从这个站点下载了两个DLL(libgit2sharp.dll和git2.dll).
首先,这不是libgit2/libgit2sharp团队与之有关的分发渠道.
安装为NuGet包:
如果您希望下载预建源,则可以使用NuGet包作为官方版本.请参阅此文章,其中介绍了如何在Visual Studio中安装NuGet包管理器.
这是使LibGit2Sharp可用于您的项目的最简单方法.
从源代码构建:
您可以LibGit2Sharp.dll从https://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包,则将在项目输出文件夹中动态创建此文件夹结构.但是,如果您从源代码构建项目,则必须自己将此文件夹结构复制为项目构建过程的一部分.