以下を使用して、実行時に関連するパスを追加することになりました。
void SetUpNativeBinaries(){
var appDataLocal = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var packageVersion = "LibGit2Sharp.0.14.0.0";// may read from PackageInfo
var processorArchitecture = IntPtr.Size==8?"amd64":"x86";
var libgitNativeBinaryPath = Path.Combine(appDataLocal, "LINQPad", "NuGet", "LibGit2Sharp", packageVersion, "NativeBinaries", processorArchitecture);
libgitNativeBinaryPath.Dump();
var pathEnvVariable = "PATH";
var currentPaths = Environment.GetEnvironmentVariable(pathEnvVariable);
var combinedPaths = String.Format(
System.Globalization.CultureInfo.InvariantCulture,
"{0}{1}{2}",
libgitNativeBinaryPath,
Path.PathSeparator,
currentPaths);
Environment.SetEnvironmentVariable(pathEnvVariable, combinedPaths);
}
それを「C#プログラム」として保存すると、すぐに開始できます。
void Main()
{
SetUpNativeBinaries();
var repoWorkingDir = @"C:\temp\libgit2_repo";
var repo = new Repository(repoWorkingDir);
repo.Config.Dump();
repo.Branches.Dump();
repo.Index.RetrieveStatus().Dump();
//...
}
更新
解決済みの問題があり、リリース 0.14.1.0 以降に修正が同梱されています