我正在尝试使用 libgit2sharp在网络项目中。问题是 libgit2sharp 的解决方案是针对 VS2010 而我使用的是 VS2008。所以我不得不创建一个新的解决方案并修改代码以不使用默认参数。这不是问题,除了当我尝试使用已编译的 libgit2sharp DLL 时出现标题中列出的异常。
我已经尝试在 git2.dll 中进行链接,但这没有帮助。将 git2.dll 复制到网络项目中也没有帮助。
编辑:该问题已在 LibGit2Sharp 问题跟踪器中得到解决:https://github.com/libgit2/libgit2sharp/issues/39
最佳答案
我没想到,git2.dll
(C 的编译版本 libgit2 库)不在您的输出目录中 ( bin\[Release|Debug]
).
由于 git2.dll
不是托管依赖项,因此您无法从项目中引用它。
但是,由于预构建事件,您应该能够将二进制文件复制到输出目录。
另一种选择是从您的解决方案中链接到 dll 文件并更改其属性以使其“如果较新则复制”(见下文)
如果您遇到任何问题,请在 bug tracker 中创建问题.
跟踪会更容易;-)
更新:
为了让它运行,您必须确保在编译后,文件 libgit2.dll
与程序集 LibGit2Sharp.dll
位于同一目录中.这样,程序集对 native 库的动态加载将按预期工作。
git2.dll
(C libgit2 库的编译版本)应该在输出目录的顶层生成( bin\[Release|Debug]
).
可以在 ticket 中找到更详尽的信息
关于c# - 无法加载 DLL 'git2.dll' 找不到指定的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313203/