一段时间以来,我一直遇到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)
此问题非常间歇性,只需重试构建就可以绕过它。有没有其他人遇到这个?任何解决方案?
答案 0 :(得分:33)
我知道答案有点迟,但可能有助于其他人
通过 Buck Hodges
回答在使用Manoj和客户支持进行调试之后,我们现在已经深入到了这个问题的最底层。在使用Azure SDK 2.5或更早版本时,它会影响Azure部署持续交付的门控签名,作为构建过程的一部分。解决方法是将 / p:GenerateBuildInfoConfigFile = false 添加到构建定义中的msbuild参数。我们正在努力更新生产中的构建VM,但这需要24-48小时才能传播到所有构建池。
基于评论的替代解决方案
如果您的构建服务器上安装了VS,请确保已打开并获得许可。 @Phill
答案 1 :(得分:3)
对我来说非常奇怪,我在构建日志中遇到了同样的错误:
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)
我能够简单地重建构建,并且在第二次尝试时没有失败。所以对我来说这是一个短暂的构建问题。
答案 2 :(得分:0)
虽然很晚才到派对,但是最近遇到了这个错误,当标记为该解决方案的解决方案时,当Visual Studio 2012升级到Visual Studio 2015 Update 3时,错误已得到修复(并且删除了交换机)构建运行TFS 2015 Update 3的服务器。
答案 3 :(得分:0)
在我将TFS 2013 XAML构建计算机升级到TFS 2015后,我点击了这个。
我还更改了TFS 2015 XAML构建用于运行构建的用户(服务。
修复:
我必须以新用户身份登录TFS 2015 XAML构建计算机并启动VS(我使用的是VS2013)。
它第一次启动了问题和设置。
在此之后我仍然看到了Lib2GitSharp错误问题。
然后我还将VS(在TFS 2015 XAML构建机器上)记录到有效的VS帐户中。
我从未见过Lib2GitSharp错误,因为我从未使用/ p:GenerateBuildInfoConfigFile = false选项。
答案 4 :(得分:-1)
我通过将构建帐户添加到构建计算机上的本地管理员组来解决此错误。