如果我有名字和擱置的主人,我可以找到它成功地使用下面的代碼:如何找到一個CodeReviewRequest提供擱置利用信息
foreach (Shelveset shelveset in
versionControlServer.QueryShelvesets(workItem.
Fields["Associated Context"].Value.ToString(), "NW\\LFreeman"))
其中workItem
是的一個實例CodeReviewRequest
workItem
。
我可以從workItem.Fields["Associated Context"]
得到CodeReviewRequest
的名稱。如果我的主人設置爲null
因此,它返回一個空列表。據我所知,這種方法只適用於所有者被指定爲字符串的情況。
我想弄清楚如何獲得所有者。使用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」?如果是這樣,什麼方法調用將使我能夠做這個映射?
編輯:
下面是根據給出的答案和紐帶,爲我工作的代碼:
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());
謝謝!這解決了這個問題。我會在問題中添加細節。 –