Невозможно загрузить dll 'git2.dll', указанный модуль не может быть найден

StackOverflow https://stackoverflow.com/questions/6313203

Вопрос

Я пытаюсь использовать 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 из вашего решения и изменить его свойства, чтобы сделать его «скопированным, если новее» (см. Ниже)

enter image description here

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

Это будет легче отслеживать ;-)

ОБНОВИТЬ:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top