如何使用 CodeReviewRequest 提供的信息查找 Shelveset
How to find a Shelveset using information provided by a CodeReviewRequest
如果我有 Shelveset 的名称和所有者,我可以使用以下代码成功找到它:
foreach (Shelveset shelveset in
versionControlServer.QueryShelvesets(workItem.
Fields["Associated Context"].Value.ToString(), "NW\LFreeman"))
其中 workItem
是 CodeReviewRequest
workItem
.
的实例
我可以从 workItem.Fields["Associated Context"]
得到 CodeReviewRequest
的名字
如果我将所有者设置为 null
,它 returns 是一个空列表。有人向我报告说,只有当所有者被指定为字符串时,此方法才有效。
我正在想办法找到所有者。
使用 workItem.Fields["Associated Context Owner"].Value.ToString()
,我能够获得所有者的 GUID。
现在的挑战是如何将 GUID 转换为预期所有者,即 "NW\LFreeman"。
当我打印出 workItems.Fields["Associated Context Owner"].Value.ToString()
时,这是我看到的:
c3741a78-1a44-4bf6-95b0-f360cd387f3e
是否可以从此 GUID 检索 "NW\LFreeman"?如果是这样,什么方法调用将使我能够进行此映射?
编辑:
这是根据答案和 link 给出的对我有用的代码:
Guid ownerId = new Guid(codeReviewRequestWorkItem.Fields["Associated Context Owner"].Value.ToString());
Guid[] teamFoundationIds = new Guid[1];
teamFoundationIds[0] = ownerId;
TeamFoundationIdentity[] users = ims.ReadIdentities((Guid[])teamFoundationIds, MembershipQuery.None);
Shelveset[] shelves = vcs.QueryShelvesets(codeReviewRequestWorkItem.Fields["Associated Context"].Value.ToString(), users[0].UniqueName.ToString());
如果我有 Shelveset 的名称和所有者,我可以使用以下代码成功找到它:
foreach (Shelveset shelveset in
versionControlServer.QueryShelvesets(workItem.
Fields["Associated Context"].Value.ToString(), "NW\LFreeman"))
其中 workItem
是 CodeReviewRequest
workItem
.
我可以从 workItem.Fields["Associated Context"]
CodeReviewRequest
的名字
如果我将所有者设置为 null
,它 returns 是一个空列表。有人向我报告说,只有当所有者被指定为字符串时,此方法才有效。
我正在想办法找到所有者。
使用 workItem.Fields["Associated Context Owner"].Value.ToString()
,我能够获得所有者的 GUID。
现在的挑战是如何将 GUID 转换为预期所有者,即 "NW\LFreeman"。
当我打印出 workItems.Fields["Associated Context Owner"].Value.ToString()
时,这是我看到的:
c3741a78-1a44-4bf6-95b0-f360cd387f3e
是否可以从此 GUID 检索 "NW\LFreeman"?如果是这样,什么方法调用将使我能够进行此映射?
编辑:
这是根据答案和 link 给出的对我有用的代码:
Guid ownerId = new Guid(codeReviewRequestWorkItem.Fields["Associated Context Owner"].Value.ToString());
Guid[] teamFoundationIds = new Guid[1];
teamFoundationIds[0] = ownerId;
TeamFoundationIdentity[] users = ims.ReadIdentities((Guid[])teamFoundationIds, MembershipQuery.None);
Shelveset[] shelves = vcs.QueryShelvesets(codeReviewRequestWorkItem.Fields["Associated Context"].Value.ToString(), users[0].UniqueName.ToString());