libgit2 / libgit2/libgit2sharp

Error loading DLL git2-3f4182d on Windows (module not found)

Ouverte
#2,142 5 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C#
Étoiles
3.5k
Forks
925
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

I'm developing a Visual Studio 2022 extension that uses LibGit2Sharp to retrieve Git repository information (such as the current branch name) and to manage open documents based on the active branch. However, when running my extension on Windows, I encounter the following error:

Unable to load DLL 'git2-3f4182d': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

I noticed that the LibGit2Sharp.dll.config file only contains dllmap entries for Linux and macOS, with no mapping for Windows. Despite installing the LibGit2Sharp.NativeBinaries package and verifying that the project’s platform configuration (x86 vs x64) matches the deployed binaries, the error persists.

I'm running on .net 4.7.2. The code is pretty simple since it's an R&D POC.


string testDir = "";
try
{
    using (var repo = new Repository(_repoPath))
    {
        testDir = repo.Head?.FriendlyName;
    }
}

_repoPath is not empty, and it exists as the current Git repository. (with an .git folder)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’appel à Repository dans l’extension Visual Studio 2022 sur .NET 4.7.2, puis inspectez LibGit2Sharp.dll.config et le déploiement installé de LibGit2Sharp.NativeBinaries. Vérifiez comment la DLL native Windows est localisée et si l’architecture déployée correspond à celle de l’extension ; c’est terminé lorsque le référentiel s’ouvre et que repo.Head.FriendlyName peut être lu sans l’erreur de chargement de la DLL.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, git
Domaine
devtools, operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.