2016-08-06 12 views
1

私はLibGit2SharpとLibGit2Sharp.NativeBinariesをpaket(最初の最後の安定バージョンとプレリリース)でインストールしました。しかし、私はこのエラーを取得しておいてください。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#プロジェクト(VS2015 - > diffのターゲットフレームワークを試してみました:4、4.5.2および4.6.1)でそれを参照しようとしたが、私はこのエラーを取得しています:最後の安定Ver.3.80に

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がそれらを見つけることができない可能性があります。その場合は、LibGit2Sharp.dllと同じフォルダにx64(または32ビットでまだスタックしている場合はx86)をgit2-381-caf5.dllに置きます。この場合、これは私が上で参照しているのと同じフォルダです:

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

+0

ありがとう、私は自分自身を考え出していないだろう!ファイルをコピーしました:-) – Selketjah

+0

@Selketjahはそれを解決してうれしいです。これは、ネイティブライブラリが.Netでラップされている場合に発生します。 – s952163

関連する問題