2012-07-02 37 views
5

Tôi đang cố gắng sử dụng thư viện libgit2sharp. Mã duy nhất của tôi làSự cố khi tải git2.dll?

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

và khi tôi chạy, tôi gặp lỗi khi không thể tải DLL 'git2': Không thể tìm thấy mô-đun được chỉ định. Vì vậy, tôi tự đi và nắm lấy git2.dll từ libgit2sharp và di chuyển nó vào thư mục. Khi chạy cùng một chương trình sau đó tôi nhận được một lỗi khác: Một nỗ lực đã được thực hiện để tải một chương trình với một định dạng không chính xác.

Trong khi nghiên cứu, tôi tìm thấy this post và giải pháp dường như hoạt động cho người đăng không có tác dụng đối với tôi. Bài đăng đó cũng đã được thực hiện một năm trước và một sửa chữa được cho là đã được thực hiện cho nó, Im sử dụng nhánh mới nhất của libgit2sharp (ive đã thử kho lưu trữ cũ không thay đổi)

Bất kỳ ý tưởng nào?

+0

Bạn đang nhắm mục tiêu phiên bản .NET nào? – Cameron

+0

Khung mục tiêu là mặc định, .NET framework 4.0 client – Whyrusleeping

+0

Ngoài ra, việc thay đổi thành 3.5 không thay đổi bất cứ điều gì – Whyrusleeping

Trả lời

2

Tùy chọn được đề nghị sẽ là cài đặt LibGit2Sharp NuGet package mới nhất sẽ quản lý mọi thứ ở đúng vị trí.

Tuy nhiên, nếu bạn muốn xử lý điều này bằng tay, kho lưu trữ GitHub bao gồm cả hai phiên bản x86amd64 của git2.dll. Thực hiện thanh toán chi nhánh master hoặc vNext sẽ truy xuất chúng.

Hãy coi chừng rằng mọi phiên bản LibGit2Sharp đều hoạt động dựa trên phiên bản cụ thể của mã nhị phân libgit2. Mỗi nhánh LibGit2Sharp chứa một mô-đun con libgit2 trỏ vào các cam kết libgit2 đang được bao bọc.

submodule

Để cho nó để hoàn hảo làm việc, lắp ráp LibGit2Sharp hy vọng git2.dll nhị phân được đặt thành một cấu trúc cây cụ thể.

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

đã thực hiện mẹo đó, cảm ơn! – Whyrusleeping

+1

Tôi đang tạo một Tiện ích mở rộng VS bằng cách sử dụng dự án VSIX. Các tập tin git2.dll đã được sao chép vào thư mục bin \ Debug | Release, nhưng không có trong gói VSIX của tôi. Tôi đã kết thúc việc tạo ra cấu trúc thư mục NativeBinaries \ amd64 và x86 trong dự án của tôi, và sau đó liên kết tới các tệp git2-3f8d005.dll làm các lối tắt. Trong thuộc tính shortcut tôi sau đó thiết lập thuộc tính Include In VSIX thành true, và bây giờ các assembly được đưa vào VSIX với cấu trúc thư mục thích hợp. Nó hoạt động, nhưng không lý tưởng, gây ra mỗi khi tôi cập nhật gói LibGit2Sharp NuGet, tôi cũng sẽ cần cập nhật các lối tắt. – deadlydog

Các vấn đề liên quan