2016-12-21 31 views
0

我嘗試使用下面的代碼從TFS簽出的項目清單全部結帳信息:檢索使用TFS API

我得到的項目,如ExtendedItem[] (var v)的列表中,但它並沒有結賬信息( LockOwnerLockOwnerDisplayName and LockStatus)它不是專門檢出的項目。

我做錯了什麼?任何幫助將非常感激。

VersionControlServer vcs = _tfsColl.GetService<VersionControlServer>(); 

var v = vcs.GetExtendedItems(new ItemSpec[] { new ItemSpec(p.ServerItem, RecursionType.OneLevel)}, DeletedState.NonDeleted, ItemType.Any); 

回答

0

據我所知,得到你需要找出工作區,然後找到什麼是對那些工作空間所有掛起更改文件的退房信息。

我發現了一個有用的帖子herehere

希望這有助於。

0

使用此代碼來檢索鎖定信息:

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri("[collection URL]")); 

      collection.EnsureAuthenticated(); 
      VersionControlServer vcs = collection.GetService<VersionControlServer>(); 
      var pendingSets = vcs.QueryPendingSets(new string[] { "[server path]" }, RecursionType.OneLevel, null, null); 
      foreach (PendingSet changeset in pendingSets) 
      { 
       foreach (PendingChange change in changeset.PendingChanges) 
       { 
        if(change.IsLock) 
        { 
         Console.WriteLine("Lock level:" + change.LockLevel); 
         Console.WriteLine("Locked By:" + changeset.OwnerName); 
         Console.WriteLine("Time:" + change.CreationDate); 
        } 
       } 
      } 
+0

@ starain沃爾瑪,是否不需要一個工作區的上下文中執行的? –

+0

@MHHinsh是的,你不需要指定工作區。 –

+0

如何在沒有工作區的情況下查詢PendingSets?我想我雖然這是一個工作區功能.... –