问题
I'm trying to use libgit2sharp in a web-project. The problem is that libgit2sharp's solution is for VS2010 and I'm using VS2008. So I had to create a new solution and modify the code not to use default parameters. That wasn't a problem, except I'm getting the exception listed in the title when I try to use the compiled libgit2sharp DLL.
I've tried linking in the git2.dll, but that hasn't helped. Copying the git2.dll into the web-project hasn't helped either.
Edit: The issue was handled over at the LibGit2Sharp issue tracker: https://github.com/libgit2/libgit2sharp/issues/39
回答1:
Off the top of my head, I'd say that the git2.dll
(compiled version of C libgit2 library) is not in your output directory (bin\[Release|Debug]
).
As git2.dll
is not a managed dependency, you cannot reference it from your project.
However, thanks to a prebuild event, you should be able to copy the binary to your output directory.
Another option would be to link to the dll file from within your solution and change its properties to make it 'copied if newer' (see below)
Should you encounter any problem, please create an issue in the bug tracker.
It will be easier to track ;-)
UPDATE:
In order for this to run, you have to make sure that after compilation, the file libgit2.dll
is located in the same directory than the assembly LibGit2Sharp.dll
. This way, the dynamic loading of the native library by the assembly will work as expected.
The git2.dll
(compiled version of C libgit2 library) should be generated at the top level of your output directory (bin\[Release|Debug]
).
More thorough information can be found in the ticket
来源:https://stackoverflow.com/questions/6313203/unable-to-load-dll-git2-dll-the-specified-module-could-not-be-found