Невозможно загрузить DLL 'git2.dll' Указанный модуль не найден - PullRequest
4 голосов
/ 11 июня 2011

Я пытаюсь использовать libgit2sharp в веб-проекте. Проблема в том, что решение libgit2sharp предназначено для VS2010, а я использую VS2008. Поэтому мне пришлось создать новое решение и изменить код, чтобы не использовать параметры по умолчанию. Это не было проблемой, за исключением того, что я получаю исключение, указанное в заголовке, когда я пытаюсь использовать скомпилированную библиотеку libgit2sharp.

Я пробовал линковать в git2.dll, но это не помогло. Копирование git2.dll в веб-проект также не помогло.

Редактировать : проблема была обработана в системе отслеживания ошибок LibGit2Sharp: https://github.com/libgit2/libgit2sharp/issues/39

1 Ответ

8 голосов
/ 11 июня 2011

От всей души я бы сказал, что git2.dll ( скомпилированная версия C libgit2 library ) не находится в вашем выходном каталоге (bin\[Release|Debug]).

Поскольку git2.dll не является управляемой зависимостью, вы не можете ссылаться на нее из своего проекта.

Однако благодаря событию предварительной сборки вы сможете скопировать двоичный файл в свой вывод.каталог.

Другим вариантом будет ссылка на файл dll из вашего решения и изменение его свойств, чтобы сделать его «скопированным, если оно более новое» (см. Ниже)

enter image description here

Если у вас возникнут какие-либо проблемы, создайте проблему в баг-трекере .

Отследить будет легче; -)

ОБНОВЛЕНИЕ:

Чтобы это запустить, вы должны убедиться, что после компиляции файл libgit2.dll находится в том же каталоге, что и сборка LibGit2Sharp.dll.Таким образом, динамическая загрузка собственной библиотеки сборкой будет работать как положено.

git2.dll ( скомпилированная версия C libgit2 library ) должна бытьгенерируется на верхнем уровне вашего выходного каталога (bin\[Release|Debug]).

Более подробную информацию можно найти в тикете

...