2012-07-02 22 views
5

Libgit2sharp kütüphanesini kullanmaya çalışıyorum. Benim tek kodSorunlar git2.dll yükleniyor?

Repository repository = new Repository(@"C:\Path\To\Repo"); 

ve bunu çalıştırdığınızda i DLL 'git2' yüklenemiyor belirten bir hata alıyorum: Belirtilen modül bulunamadı. Bu yüzden, el ile gittim ve git2.dll libgit2sharp dan yakaladı ve dizine taşıdı. Aynı programı çalıştırdıktan sonra başka bir hata alıyorum: Yanlış bir formatta bir program yüklemek için girişimde bulunuldu.

Bunu araştırırken this post'u buldum ve poster için işe yaradığı görülen çözüm benim için çalışmadı. Bu gönderi de bir yıl önce yapıldı ve bunun için bir düzeltme yapıldı, ben libgit2sharp'ın son şubesini kullanıyorum (eski depoları hiçbir değişiklik denemedim)

Herhangi bir fikrin var mı?

+0

Hangi sürüm .NET'i hedefliyorsunuz? – Cameron

+0

Hedef çerçeve varsayılan, .NET framework 4.0 istemcisi – Whyrusleeping

+0

Ayrıca, bunu 3.5 olarak değiştirdiğinizde hiçbir şey değişmez – Whyrusleeping

cevap

2

Önerilen seçenek en son LibGit2Sharp NuGet package'u yüklemek olacaktır; bu, her şeyi doğru konumda kurmaya özen gösterecektir.

Ancak, bu el ile işlemeyi tercih ederseniz, GitHub deposu, 'un x86 ve amd64 sürümlerini içerir. master veya vNext şubesinin bir çıkışını yapmak bunları almalıdır.

LibGit2Sharp'ın her sürümünün libgit2'nin belirli bir sürümüne karşı çalıştığından emin olun. Her LibGit2Sharp şubesi, libgit2 taahhüdünün sarıldığını gösteren bir libgit2 alt modülü içerir. o iş mükemmel etmek için amacıyla

submodule

, LibGit2Sharp montaj git2.dll ikili belirli ağaç yapısı içinde yer olmasını bekler.

LibGit2Sharp.dll 
|__NativeBinaries 
    |__x86 
    | |_git2.dll 
    | 
    |__amd64 
     |_git2.dll 
+0

'dan doğru git kütüphanesini (x86 veya amd64) aldığınızdan emin olun, teşekkürler! – Whyrusleeping

+1

VSIX projesi kullanarak bir VS Uzantısı yapıyorum. Git2.dll dosyaları bin \ Debug | Release dizinine kopyalandı, ancak VSIX paketime dahil edilmedi. Projemde NativeBinaries \ amd64 ve x86 klasör yapısını oluşturmak zorunda kaldım ve daha sonra git2-3f8d005.dll dosyalarını kısayol olarak bağladım. Kısayol özelliklerinde daha sonra Include In VSIX özelliğini true olarak ayarladım ve şimdi de derlemeler uygun klasör yapısıyla VSIX'e dahil olacak. Çalışır, ancak ideal değil, LibGit2Sharp NuGet paketini her güncellediğimde, kısayol yollarını da güncellemem gerekecek. – deadlydog