我需要告诉哪些字段已更改为修订的一部分。目前我正在检查
foreach (Field f in revision.Fields) {
if (Equals(f.OriginalValue, f.Value)) { continue; }
// do something with changed field
}
但是,此代码存在一个问题,即它不会列出已更改但具有相同值的字段。看https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client.revision(v=vs.120).aspx我看不到这样做的方法,但由于TFS确实跟踪了这种事情(== visual studio& web界面都显示更改的字段甚至是相同的值),它应该是可能。但我不知道该怎么做。
答案 0 :(得分:0)
无法通过以下方式更改历史记录值:work_item.fields["History"] = "value"
。工作项历史不支持更改和修改。它根据您在此工作项目上编辑的内容生成。
此if (Equals(f.OriginalValue, f.Value)) { continue; }
不会列出历史记录字段。历史字段不像其他字段(优先级,标题等)那样简单。修订版代表了工作项的历史。
更新
要获取每个修订版中更改的字段,您可以尝试列出修订版中的所有信息并编写方法来比较它们。这是一个例子: http://geekswithblogs.net/TarunArora/archive/2011/08/21/tfs-sdk-work-item-history-visualizer-using-tfs-api.aspx