3

我将集合从 TFS 2012.2 迁移到新的 TFS 2015,我为该集合配置了 XAML 构建代理,当我尝试运行构建时,它在“关联变更集和工作项”活动期间失败。

从堆栈跟踪中,我可以看到它无法更改工作项,我试图用一个小项目重现这个案例,但它工作正常?!

构建日志

异常堆栈跟踪:在 Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(字符串 requestId、XmlElement 包、XmlElement& 结果、MetadataTableHaveEntry[] metadataHave、String& dbStamp、IMetadataRowSets& 元数据)

在 Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement 包,XmlElement& 结果,布尔批量)

在 Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SaveWorkItems(WorkItem[] 工作项,布尔批量,SaveFlags saveFlags)

在 Microsoft.TeamFoundation.WorkItemTracking.Client.BatchSaveHelper.TryUpdate(WorkItemStore 存储,WorkItem[] 工作项,SaveFlags saveFlags,List`1 错误)

在 Microsoft.TeamFoundation.WorkItemTracking.Client.BatchSaveHelper.TryUpdate(WorkItemStore 存储,WorkItem[] 工作项,SaveFlags saveFlags,List`1 错误)

在 Microsoft.TeamFoundation.WorkItemTracking.Client.BatchSaveHelper.BatchSave(WorkItemStore 存储,WorkItem[] 工作项,SaveFlags saveFlags)

在 Microsoft.TeamFoundation.Build.Workflow.Activities.WitBatchSaveWorkItems.Execute(CodeActivityContext 上下文)

在 System.Activities.CodeActivity`1.InternalExecute(ActivityInstance 实例,ActivityExecutor 执行器,BookmarkManager 书签管理器)

在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器,BookmarkManager 书签管理器,位置结果位置)

事件簿:

默认控制器 - tfsbuild:取消了 ID 为 {2da10eef-3c75-48ce-852b-78436a594f85} 的构建 vstfs:///Build/Build/430 的工作流实例。异常类型:System.NullReferenceException 异常消息:对象引用未设置为对象的实例。堆栈跟踪:在 System.Activities.Statements.Throw.Execute(CodeActivityContext context) 在 System.Activities.CodeActivity.InternalExecute(ActivityInstance 实例,ActivityExecutor 执行程序,BookmarkManager bookmarkManager) 在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行程序, BookmarkManager 书签管理器, Location resultLocation)

4

2 回答 2

0

不是解决方案,而是解决方法:

在您的构建定义中,您可以禁用设置:“关联变更集和工作项”,方法是将其设置为 false。这应该使签入工作。它位于 ->Process->Advanced->Associate Changesets and Work Items 下。 在此处输入图像描述 就我而言,这是一个有效的解决方案,因为我不需要关联,但将关联排除在外可能并不总是可以的。

于 2016-04-11T11:55:48.940 回答
0

请按照以下步骤

1.)Stop the Build Service on the Build Machine
2.)Delete the folders inside the below path in build machine – C:\Users\
    [BUILDSERVICEACCOUNT]\AppData\Local\Microsoft\TeamFoundation\5.0
3.)Start the Build Service on the Build Machine
于 2018-01-25T11:34:59.637 回答