Unfortunately, libgit2sharp is too slow to extract fault, and using this function is impractical in real-world scenarios. Therefore, it is best to use a Powershell script to use basic superfast native git. And then redirect the result to your application.
git blame -l -e -c {commit-sha} -- "{file-path}" | where { $_ -match '(?<sha>\w{40})\s+\(<(?<email>[\w\.\-] +@ [\w\-]+\.\w{2,3})>\s+(?<datetime>\d\d\d\d-\d\d-\d\d\s\d\d\:\d\d:\d\d\s-\d\d\d\d)\s+(?<lineNumber>\d+)\)\w*' } | foreach { new-object PSObject βprop @{ Email = $matches['email'];lineNumber = $matches['lineNumber'];dateTime = $matches['dateTime'];Sha = $matches['sha']}}
source share