TFS SDK - 如何判断修订中的哪些字段已更改?

时间:2017-01-25 18:10:01

标签: c# tfs tfs-sdk

我需要告诉哪些字段已更改为修订的一部分。目前我正在检查

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界面都显示更改的字段甚至是相同的值),它应该是可能。但我不知道该怎么做。

1 个答案:

答案 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