2011-06-11 141 views
4

我试图在网络项目中使用libgit2sharp。问题是,libgit2sharp的解决方案是针对VS2010,而我正在使用VS2008。所以我不得不创建一个新的解决方案,并修改代码不使用默认参数。这不是一个问题,除了当我尝试使用已编译的libgit2sharp DLL时,我得到了标题中列出的异常。无法加载DLL'git2.dll'无法找到指定的模块

我试过在git2.dll中链接,但这并没有帮助。将git2.dll复制到web项目中也没有帮助。

编辑:这个问题是在LibGit2Sharp问题跟踪处理了:https://github.com/libgit2/libgit2sharp/issues/39

回答

8

关闭我的头顶,我想说的是,git2.dll(章C libgit2编译版本)是不在您的输出目录(bin\[Release|Debug])中。

由于git2.dll不是托管依赖项,所以不能从项目中引用它。

但是,由于prebuild事件,您应该能够将二进制文件复制到您的输出目录。

另一种选择是从您的解决方案中链接到的DLL文件,并改变其属性,从而“复制,如果新”(见下文)

enter image description here

如果您遇到任何问题,请在bug tracker中创建问题。

它会更容易追踪;-)

UPDATE:

为了这个运行,你必须确保编译后,该文件libgit2.dll位于同一目录比装配LibGit2Sharp.dll。这样,程序集对本地库的动态加载将按预期工作。

git2.dll(C libgit2编译版本)应在输出目录(bin\[Release|Debug])的顶层生成

更彻底的信息可以在ticket

+0

好找到,我开了票,因为没有帮助 - 我已经有它链接并复制到所有的bin /输出文件夹。 – 2011-06-11 19:21:54

+0

@Chuck Savage确实将git2.dll移出了Lib文件夹,并将其放在项目的顶层,解决了您的问题? – nulltoken 2011-06-13 10:26:25

+0

对于后续阅读:https://github.com/libgit2/libgit2sharp/issues/39 – 2011-06-13 22:16:51

相关问题