0

作業中のWebサイトを管理する小さなwpfアプリを作成しました。このアプリの主な機能は、テーマリポジトリのさまざまなブランチをチェックアウトできることです。これはVisualStudioで完全に機能しますが、Windows 8マシンでアプリを公開、インストール、実行すると、次のようになります。

{"Unable to load DLL 'git2': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}

私はインターネットとstackoverflowを検索しました。DLL'git2.dll'を読み込めませんなどの同様の質問があります。指定されたモジュールは見つかりませんでしたが、提供された回答(および回答で説明されているgithubの問題に示されている回答)は別のエラーを引き起こします。

Unable to find an entry point git_reference_oid in git2.dll

コンパイルされたdllを含む最新のnugetをインストールし、ソリューションにlibgit2sharpプロジェクトを含むgit2.dllを追加してみました。繰り返しになりますが、Visual Studioですべて実行すると完全に機能しますが、公開、インストール、実行すると失敗します。

どのような情報を含める必要があるのか​​わからなかったので、質問を更新できるように、コメントしてお知らせください。

ありがとうございました!

4

1 に答える 1

2

インストールされた実行可能ファイルを実行しているコンピューターには、MSVCR100.DLLまたはMSVCR110.DLLがない可能性があります(git2.dllがVisual Studio 2010または2012を使用してコンパイルされているかどうかによって異なります)。

最近、libgit2に修正がマージされ、この依存関係が不要になりました

実際、dumpbin /IMPORTS git2.dllこれらのバイナリに対して実行しても、MSVCR1x0.dllに対する依存関係は表示されなくなりました。

vNextLibGit2Sharpプロジェクトのブランチの最新のヒントには、更新されたgit2.dllが埋め込まれています。プロジェクトをコンパイルすることをお勧めします(build.libgit2sharp.cmdツールを使用し、代わりにこのバージョン(管理されたアセンブリ+ネイティブバイナリ)を使用してください)。

于 2013-03-26T19:50:30.677 に答える