Repository.Discover() throws exception in Release mode, but not Debug mode
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece reproduzindo a falha em modo Release do comando da extensão do Visual Studio, usando Repository.Discover(filePath) com o arquivo-fonte ativo do LLVM. Inspecione o inicializador de tipo NativeMethods e compare o comportamento de Release e Debug no Windows 11 com .NET Framework 4.8. O trabalho estará concluído quando Repository.Discover retornar o caminho do repositório na compilação Release sem lançar uma exceção.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm making a VSIX extension that does Git operations, I ran into this issue while trying to get the corresponding repo for the active document. When testing in the LLVM repo, doing Repository.Discover() on the active file C:\Users\<my_user_name>\source\repos\llvm-project\clang\lib\Format\UnwrappedLineParser.cpp throws in Release mode, but on Debug mode it correctly gets the repository path of C:\Users\<my_user_name>\source\repos\llvm-project\.git\
Reproduction steps
- Create Visual Studio Extension project and add a command, set build to Release mode
- Within the command, get active document with
DTE applicationObject = (DTE)await AsyncServiceProvider.GlobalProvider.GetServiceAsync(typeof(SDTE)); - Get full file path with
var filePath = applicationObject.ActiveDocument.FullName - Call
var repoPath = Repository.Discover(filePath)
Expected behavior
repoPath holds the path of the repository
Actual behavior
Exception is thrown with the message The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception.
Version of LibGit2Sharp (release number or SHA1)
0.30.0
Operating system(s) tested; .NET runtime tested
Windows 11, .NET Framework 4.8
- Linguagem predominante
- C#
- Estrelas
- 3.5k
- Forks
- 925
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de libgit2/libgit2sharp
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
libgit2/libgit2sharp#2193 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
libgit2/libgit2sharp#2192 · 1 comentário ·
-
Website is down Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
libgit2/libgit2sharp#2191 · 2 reações ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
libgit2/libgit2sharp#2189 · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
libgit2/libgit2sharp#2187 · 2 comentários ·
Todas as issues de libgit2/libgit2sharp
Issues semelhantes
-
Status: Waiting triage Type: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
nanoframework/Home#1857 ·
-
kind/bug kind/regression
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
unoplatform/uno.toolkit.ui#1646 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
nightscout/nocturne#1379 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
elastic/esql-dotnet#47 ·
-
port: add go-steam fork Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100