【发布时间】:2020-07-08 22:18:03
【问题描述】:
我想列出 TFS 的所有用户,无论他们是否有任何变更集。我希望列表中的所有用户都使用 C# 和 MVC。我该怎么做?
【问题讨论】:
我想列出 TFS 的所有用户,无论他们是否有任何变更集。我希望列表中的所有用户都使用 C# 和 MVC。我该怎么做?
【问题讨论】:
这是我列出集合的所有用户的一种方式(参考 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
}
}
【讨论】: