【问题标题】:TFS 2013 Throws Lib2GitSharp Error During Build/Deploy (Intermittent)TFS 2013 在构建/部署期间引发 Lib2GitSharp 错误(间歇性)
【发布时间】:2015-05-30 22:01:13
【问题描述】:

一段时间以来,我遇到了 Team Foundation Server 构建/部署过程间歇性抛出以下错误的问题:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at LibGit2Sharp.Core.NativeMethods.git_threads_init()
at LibGit2Sharp.Core.NativeMethods.LibraryLifetimeObject..ctor()
at LibGit2Sharp.Core.NativeMethods..cctor()
--- End of inner exception stack trace ---
at LibGit2Sharp.Core.NativeMethods.RemoveHandle()
at LibGit2Sharp.Core.NativeMethods.LibraryLifetimeObject.Finalize()
Exception Message: MSBuild error 255 has ended this build. You can find more     specific information about the cause of this error in above messages. (type   BuildProcessTerminateException) Exception Stack Trace: at     System.Activities.Statements.Throw.Execute(CodeActivityContext context) at     System.Activities.CodeActivity.InternalExecute(ActivityInstance instance,     ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

这个问题是非常间歇性的,只需重试构建即可绕过它。有没有其他人遇到过这个?有什么解决办法吗?

【问题讨论】:

  • 这是什么版本的构建代理?
  • 看起来像 v5?基于此服务 URL:/Build/v5.0/Servies
  • 恐怕是网络服务版本。如果您还没有升级到 VS 2013 Update 4,您应该尝试升级,它有许多 git build 更新和错误修复。
  • 我刚刚完成升级并在大约 16 次构建后再次收到错误。
  • 我们也间歇性地看到此错误。我们所有的 TFS 服务器都在运行 VS/TFS 2013 Update 4。msbuild 日志包含以下附加消息:C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\BuildInfo\Microsoft.VisualStudio.ReleaseManagement.BuildInfo。目标(147,5):警告:“LibGit2Sharp.Core.NativeMethods”的类型初始化程序引发异常。

标签: c# .net tfs


【解决方案1】:

我知道现在回答有点晚了,但它可能对其他人有所帮助

巴克·霍奇斯的回答

在通过 Manoj 和客户支持进行调试后,我们现在已经找到了问题的根源。在使用 Azure SDK 2.5 或更早版本时,它会影响作为构建过程一部分的 Azure 部署持续交付的门控签入。解决方法是将 /p:GenerateBuildInfoConfigFile=false 添加到构建定义中的 msbuild 参数中。我们正在努力更新生产中的构建 VM,但这需要 24-48 小时才能传播到所有构建池。

您可能想在此处阅读更多内容 https://social.msdn.microsoft.com/Forums/en-US/5a0d1950-1367-41a6-9171-676a0d0e93c1/tfs-online-getted-checkin-build-failures-vs-online-tfs-online-team-need-to-look-into-it?forum=TFService

基于 cmets 的替代方案

如果您在构建服务器上安装了 VS,请确保您已打开它并获得许可。 @Phill

【讨论】:

  • 我实际上只是通过将 /p:VisualStudioVersion=14.0 放入我的 TFS 的 msbuild 参数中得到了这个错误。删除这条线可以让它再次工作。
  • @Phil 我从未见过有人使用那个。至于您的情况,如果您输入特定于 vs14 的命令,则需要在构建服务器上提供特定的 dll。
  • 是的,我有它们(在盒子上安装了 VS 2015 企业版),但显然 VS 2015 尚未打开或许可。一旦我在那个盒子上打开 VS 2015,并使用有效的 MSDN 用户登录,那么即使使用该参数,该服务器上的构建也可以正常工作。
  • 非常感谢分享您的经验
  • @Phil 多么奇怪,直到我在构建服务器上登录 VS2015 之前我遇到了同样的错误。感谢您为我节省了很多时间!
【解决方案2】:

奇怪的是,我在构建日志中遇到了同样的错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\BuildInfo\Microsoft.VisualStudio.ReleaseManagement.BuildInfo.targets (147):“LibGit2Sharp.Core.NativeMethods”的类型初始化程序抛出了一个例外。 未处理的异常:System.TypeInitializationException:“LibGit2Sharp.Core.NativeMethods”的类型初始化程序引发了异常。 ---> System.BadImageFormatException:试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

我能够简单地重试构建,第二次尝试没有失败。所以对我来说,这是一个暂时的构建问题。

【讨论】:

    【解决方案3】:

    虽然迟到了,但最近遇到了这个错误,虽然标记为答案的解决方案适用于该版本,但当 Visual Studio 2012 升级到 Visual Studio 2015 Update 3构建运行 TFS 2015 Update 3 的服务器。

    【讨论】:

      【解决方案4】:

      我在将 TFS 2013 XAML 构建机器升级到 TFS 2015 后遇到了这个问题。

      我还更改了 TFS 2015 XAML 构建用于运行构建的用户(服务。

      修复:

      我必须以新用户身份登录 TFS 2015 XAML 构建机器并启动 VS(我使用的是 VS2013)。

      它完成了第一次发布问题和设置。

      在那之后我有时仍然看到 Lib2GitSharp 错误问题。

      然后我还将 VS(在 TFS 2015 XAML 构建机器上)登录到一个有效的 VS 帐户中。

      从那以后我再也没有看到 Lib2GitSharp 错误,也从未使用过 /p:GenerateBuildInfoConfigFile=false 选项。

      【讨论】:

        【解决方案5】:

        我通过将构建帐户添加到构建机器上的本地管理员组解决了此错误。

        【讨论】:

        • 这是非常危险的。任何人都可以在任何项目的 节点中插入代码,然后这些代码将在管理员上下文中执行。您刚刚授予了每个开发人员在构建机器上的管理员权限。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-16
        • 1970-01-01
        • 2020-01-10
        • 1970-01-01
        • 2017-05-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多