在Visual Studio 2013中使用libgit2 C API

Using libgit2 C API within Visual Studio 2013

本文关键字:libgit2 API Visual Studio 2013      更新时间:2023-10-16

从本地c++,我想使用libgit2 C- api,我碰巧使用Visual Studio 2013

回想一下,微软从2010/2012年开始在Visual studio中使用libgit2来支持内部的git,如这里所讨论的:

  • http://www.hanselman.com/blog/GitSupportForVisualStudioGitTFSAndVSPutIntoContext.aspx
  • http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx

我看到两个选项:

(1)下载,构建&;在Visual Studio 2013上使用libgit2,如下所述:http://libgit2.github.com/docs/guides/build-and-link/

(2)针对libgit2 C-API库的代码作为捆绑/安装在Visual Studio (这是可能的吗?)

请注意,我想要libgit2 C-API,使用碰巧与Visual Studio安装的任何版本都是可以接受的。

理由:我很懒,不想单独构建/安装它;而且,如果我同时安装和运行多个libgit2版本(可能不应该是一个问题,但它仍然看起来很奇怪),这似乎很奇怪(也许可能会引入问题)。另一种选择是我可以直接从另一个站点安装预构建的二进制文件。

问题:我能做(2)吗?哪里是头(我如何配置一个项目为他们)?

我们强烈建议您不要使用Visual Studio中包含的libgit2版本。这是一个比你在libgit2.github.com上看到的libgit2更旧的版本,它甚至与库的发布版本不匹配。它包含自定义补丁,这些补丁只在Visual Studio内部进行过测试,在您自己的应用程序中使用libgit2可能会导致不稳定。虽然我们将这些补丁转换为最终包含在libgit2中的pull请求,但有时我们不得不快速修复错误,而这些错误不适用于库的任何其他用户。

此外,如果您尝试沿着这条路走下去,libgit2项目和Microsoft都不会支持您。

我很有兴趣为libgit2提供一个原生的nuget包,这样更容易。不幸的是,目前在提供这方面有一些困难。

在此之前,我强烈建议您按照所提供的说明来构建和链接libgit2。