我使用此代码从TFS获取工作网络:
private static List<WorkItem> GetTfsWorkItems(string projectName)
{
Uri URI = new Uri("...", UriKind.Absolute);
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(URI);
WorkItemStore store = new WorkItemStore(tpc);
string query = $@"SELECT *
FROM WorkItems
WHERE [System.TeamProject] = '{projectName}'";
return store.Query(query).Cast<WorkItem>().ToList();
}
WorkItem具有"创建"one_answers"更改"字段,这两个都是用户显示名称的字符串。我正在寻找获取用户帐户名(或SID(而不是它的方法。预先感谢!
获取帐户名是无法直接的。具有用户名值(例如 createby/changeby 字段(的字段存储在TFS数据库中作为对身份的引用,而不仅仅是显示为显示名称。
但是,不支持查询按显示名称的帐户列表。作为解决方法,您必须研究帐户列表并将显示名称与身份匹配。该身份具有您的帐户名。
在TeamFoundationIdentity
的帮助下,您可以得到所需的东西。查看以下教程的更多详细信息:
- tfs按名称获取用户
- 仅使用显示名称
- 获取TFS用户列表(邮件,SID,帐户,域((包括TFS中所有身份的概念(