【问题标题】:LibGit2Sharp fails to find git2.dllLibGit2Sharp 找不到 git2.dll
【发布时间】:2013-03-26 18:58:52
【问题描述】:

我已经构建了一个小型 wpf 应用程序来管理我正在开发的网站。这个应用程序的主要特点是它允许我检出主题存储库的不同分支。这在 Visual Studio 中完美运行,但是当我在我的 Windows 8 机器上发布、安装和运行该应用程序时,它会返回:

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

我已经通过互联网和 stackoverflow 进行了搜索。有类似的问题,例如Unable to load DLL 'git2.dll' The specified module could not be found,但是提供的答案(以及答案中描述的github问题中显示的答案)会带来另一个错误:

Unable to find an entry point git_reference_oid in git2.dll

我尝试通过 nuget 安装最新版本,包括编译的 dll 并添加 git2.dll,包括我的解决方案中的 libgit2sharp 项目。再一次,当我通过 Visual Studio 运行它时它运行良好,但当我发布、安装和运行它时失败。

我不确定需要包含哪些信息,因此请随时发表评论并告诉我,以便我更新问题。

谢谢!

【问题讨论】:

    标签: c# visual-studio-2012 libgit2 libgit2sharp


    【解决方案1】:

    您运行已安装可执行文件的计算机可能缺少 MSVCR100.DLL 或 MSVCR110.DLL(取决于 git2.dll 是使用 Visual Studio 2010 还是 2012 编译的)。

    最近在 libgit2 中合并了一个 fix,从而消除了对这种依赖关系的需要。

    确实,对这些二进制文件运行 dumpbin /IMPORTS git2.dll 不会再显示对 MSVCR1x0.dll 的任何依赖。

    LibGit2Sharp 项目的vNext 分支的最新提示嵌入了那些更新的 git2.dll。建议编译项目(使用build.libgit2sharp.cmd 工具并改用此版本(托管程序集+本机二进制文件))。

    【讨论】:

    • 我之前尝试过,但显然我没有把它放在正确的位置。感谢您的提醒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多