0

我们刚刚将我们的一台服务器从 TFS2012.2 升级到了 TFS2015RC。一切都“顺利”,但我们遇到了一个问题:

前段时间我们为 TFS 写了一个服务器端插件,它监听WorkitemChangedEvent. 它实现了ISubscriber接口。以下代码在更新之前运行良好:

void ITfsService.UpdateState(int workItemId, string newState)
{
    var wi = store.GetWorkItem(workItemId);
    wi.State = newState;
    wi.Save();               
}

更新后,并针对 TFS2015 dll 重新编译后,出现以下错误:

无法处理通知:TF237124:工作项尚未准备好保存。

请注意,没有任何工作项类型发生变化,它是相同的数据。
我尝试Validate()在保存之前通过调用从错误中获取更多信息,这是输出:

状态:InvalidListValue
状态:“已解决,待审核”
WIT:任务
ID:5842
字段:状态

但是,可用状态列表中确实存在“已解决,待审核”状态。在 GUI 中,完全可以将项目的状态更改为“已解决,待审核”:

GUI中的屏幕截图保存状态

是什么导致 Save() 失败?

4

1 回答 1

0

终于找到了原因:
显然,该Validate()调用针对整个ProcessConfiguration.xml. 因为在 TFS2012 中同时存在AgileProcessConfigurationCommonProcessConfiguration,所以工作项状态存在潜在问题。

在正确的ProcessConfiguration文件中解决了这些问题后,插件再次工作(并且,TFS 还可以升级 Backlog\IterationPlanning 功能。)

于 2015-06-12T14:26:35.780 回答