【发布时间】:2019-02-14 23:40:45
【问题描述】:
我正在编写一个实用程序来读取遗留错误跟踪系统中的所有缺陷,并将它们导入 TFS (2008/2010)。我正在使用 TFS API 创建新的 WorkItems,设置它们的字段,然后保存它们。但是我无法修改“创建者”和“创建日期”字段,因为它们是由系统设置的。 (还有其他字段我希望能够为其强制值,例如将提交者设置为不是有效 TFS 用户的人)
// these fail with "The value for the field 'Created By' cannot be changed."
defectWorkItem.Fields["Created By"].Value = defect.Submitter;
defectWorkItem.Fields["Created Date"].Value = defect.SubmitDate;
很明显,如果我不能设置这些字段,我最终会发现所有遗留错误看起来像是同一个人在同一日期创建的。
有没有一种方法可以使用 API,但强制更改通常受保护的字段?我已经研究过直接访问 TFS 数据库表,但架构看起来很复杂,我认为尝试自己修改那里的数据会很冒险。
【问题讨论】: