Невозможно загрузить dll 'git2.dll', указанный модуль не может быть найден
-
26-10-2019 - |
Вопрос
Я пытаюсь использовать 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
не является управляемой зависимостью, вы не можете ссылаться на нее из своего проекта.
Тем не менее, благодаря событию Prebuild, вы сможете скопировать двоичный файл в свой выходной каталог.
Другой вариант - ссылаться на файл DLL из вашего решения и изменить его свойства, чтобы сделать его «скопированным, если новее» (см. Ниже)
Если вы столкнетесь с какой -либо проблемой, пожалуйста, создайте проблему в баг трекер.
Это будет легче отслеживать ;-)
ОБНОВИТЬ:
Чтобы это запустило, вы должны убедиться, что после компиляции файл libgit2.dll
расположен в том же каталоге, что и сборка LibGit2Sharp.dll
. Анкет Таким образом, динамическая загрузка нативной библиотеки с помощью сборки будет работать так же, как и ожидалось.
А git2.dll
(Скомпилированная версия C libgit2 библиотека) следует создавать на верхнем уровне вашего выходного каталога (bin\[Release|Debug]
).
Более подробную информацию можно найти в проездной билет