Plugins TFS服务器插件从TFS2012升级到TFS2015 RC后失败

Plugins TFS服务器插件从TFS2012升级到TFS2015 RC后失败,plugins,tfs-2015,Plugins,Tfs 2015,我们刚刚将一台服务器从TFS2012.2升级到TFS2015 RC。一切都“顺利”,但我们遇到了一个问题: 不久前,我们为TFS编写了一个服务器端插件,它监听工作项changedevent。它实现了ISubscriber接口。更新之前,以下代码运行良好: void ITfsService.UpdateState(int workItemId, string newState) { var wi = store.GetWorkItem(workItemId); wi.State =

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

不久前,我们为TFS编写了一个服务器端插件,它监听
工作项changedevent
。它实现了
ISubscriber
接口。更新之前,以下代码运行良好:

void ITfsService.UpdateState(int workItemId, string newState)
{
    var wi = store.GetWorkItem(workItemId);
    wi.State = newState;
    wi.Save();               
}
更新后,在针对TFS2015 DLL重新编译后,发生以下错误:

未能处理通知:TF237124:工作项未准备好保存

请注意,所有工作项类型均未更改,而是相同的数据。
在保存之前,我通过调用
Validate()
尝试从错误中获取更多信息,以下是输出:

状态:InvalidListValue
声明:“已解决,待审查”
机智:任务
Id:5842
字段:State

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


是什么导致Save()失败?

最终找到了原因:
显然,
Validate()
调用针对整个
ProcessConfiguration.xml
进行验证。由于TFS2012中同时存在
AgileProcessConfiguration
CommonProcessConfiguration
,因此工作项状态存在潜在问题


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

数据仓库已更新?如何知道是否已升级?我没有明确地这样做,只是让TFS升级过程来处理它……在对象模型中,您还可以列出witd的所有可能状态。对象模型提到的有效值是什么?