2016-08-06 6 views
1

paket (첫 번째 마지막 안정 버전, 시험 버전)을 사용하여 LibGit2Sharp 및 LibGit2Sharp.NativeBinaries를 설치했으며 F # 스크립트에서 사용하려고합니다. 하지만이 오류를 받고 있어요 : -LibGit2Sharp : 오류 FS0229 : 바이너리 파일 열기 -> 잘못된 cli 헤더, rva 0

Script1.fsx(3,1): error FS0229: Error opening binary file '../packages\LibGit2Sharp.NativeBinaries\runtimes\win7-x64\native\git2-381caf5.dll': ../packages\LibGit2Sharp.NativeBinaries\runtimes\win7-x64\native\git2-381caf5.dll: bad cli header, rva 0

Script1.fsx(3,1): error FS3160: Problem reading assembly '': Exception of type 'Microsoft.FSharp.Compiler.ErrorLogger+StopProcessing' was thrown.

나는 또한 C# 프로젝트 (4, 4.5.2 및 4.6.1> 시도 사랑하는 대상 프레임 워크 VS2015)가 그것을 참조하는 시도 :하지만 난이 오류가 계속 : 마지막으로 안정적인 수직로드

error adding reference

같은 오류 시온. 잘못된 생각을하고 있습니까?

+0

내 생각 엔 .NET에서 C 또는 C++ dll을 참조하려고합니다. 코드에서 libgit2를 참조하는 방법을 보여줄 수 있습니까? 왜 libgit btw가 필요합니까? windows git 클라이언트가 있습니다. – s952163

+0

기본 라이브러리가 있어야하는 폴더를 추가했습니다. 직접 참조 할 필요는 없지만 LibGit2Sharp를 참조해야합니다. – s952163

답변

2

당신은 아마 (VS 또는 FSI에 #r를 통해) 참조해야합니다 :

#r @"..\packages\LibGit2Sharp.0.23.0-pre20160803182831\lib\net40\LibGit2Sharp.dll"

당신이있어 오류가 정말 네이티브 libgit2 라이브러리를 참조한다

open LibGit2Sharp 
let myrepo = new Repository(@"..\Projects\StackOverflow5") 

을 할 수있는 당신 돈 직접 그들을 참조 할 필요가 없습니다. 그러나 LibGit2Sharp을 찾을 수 없습니다. 이 경우이있는 폴더에 x64 (또는 여전히 32 비트에 고정 된 경우 x86) git2-381-caf5.dll을 넣으십시오. 이 경우 위의 참조하는 동일한 폴더 :

\packages\LibGit2Sharp.0.23.0-pre20160803182831\lib\net40\

+0

정말 고마워, 나 자신을 알아 내지 못했을거야! 파일 복사는 – Selketjah

+0

@Selketjah 님이 기꺼이 해결했습니다. 이것은 네이티브 라이브러리가 .Net에 래핑 될 때 발생합니다. – s952163