【问题标题】:How to select all users from TFS into a list?如何从 TFS 中选择所有用户到列表中?
【发布时间】:2020-07-08 22:18:03
【问题描述】:

我想列出 TFS 的所有用户,无论他们是否有任何变更集。我希望列表中的所有用户都使用 C# 和 MVC。我该怎么做?

【问题讨论】:

    标签: c# tfs tfs-sdk


    【解决方案1】:

    这是我列出集合的所有用户的一种方式(参考 Microsoft.TeamFoundation.Client.dll):

    IIdentityManagementService ims = (IIdentityManagementService)tfsConnection.GetService(typeof(IIdentityManagementService));
    // get all valid users of the collection
    TeamFoundationIdentity SIDS = ims.ReadIdentity(IdentitySearchFactor.AccountName, "Project Collection Valid Users", MembershipQuery.Expanded, ReadIdentityOptions.ExtendedProperties);
    List<string> ids = new List<string>();
    foreach (var member in SIDS.Members)
    {
        ids.Add(member.Identifier);
    }
    
    // get user objects for existing SIDS
    TeamFoundationIdentity[][] UserId = ims.ReadIdentities(IdentitySearchFactor.Identifier, ids.ToArray(), MembershipQuery.None, ReadIdentityOptions.ExtendedProperties);
    // convert to list
    List<TeamFoundationIdentity> UserIds = UserId.SelectMany(T => T).ToList();
    
    foreach (TeamFoundationIdentity user in UserIds)
    {
      // exclude groups in listing
      if (!user.IsContainer)
      {
        //do what you want with the user
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-25
      • 2022-09-28
      • 1970-01-01
      • 2022-07-26
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多