如何在 TFS 中使用 TfsTeamProjectCollection
Posted
技术标签:
【中文标题】如何在 TFS 中使用 TfsTeamProjectCollection【英文标题】:How to use TfsTeamProjectCollection in TFS 【发布时间】:2021-12-21 15:21:28 【问题描述】:我正在尝试从 IdentityRef 获取电子邮件地址。
IdentityRef test = (IdentityRef)workItem.Fields["System.CreatedBy"];
var test2 = test.UniqueName;
var tfs = new TfsTeamProjectCollection(uri, credentials);
tfs.GetService<IIdentityManagementService2>();
var test3 = identityService.ReadIdentity(test2);
此代码给我“CS0246 找不到类型或命名空间名称 'TfsTeamProjectCollection'(您是否缺少 using 指令或程序集引用?)”
我尝试了各种“使用”指令来让 TfsTeamProjectCollection 识别:
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.Framework.Common;
using Microsoft.TeamFoundation.VersionControl.Client;
using assembly Microsoft.TeamFoundation.Client;
using namespace Microsoft.TeamFoundation.Client;
所有这些都给了我一些“IDE0005:不需要使用指令”,“CS0234:名称空间'Bar'中不存在类型或名称空间名称'Foo'”,“CS0103:名称'Foo'在当前上下文中不存在”。
我安装了 Microsoft.TeamFoundationServer.Client、Microsoft.TeamFoundationServer.ExtendedClient、Microsoft.VisualStudio.Services.Client、Microsoft.VisualStudio.Services.InteractiveClient
【问题讨论】:
什么版本的 TFS?您尝试使用的客户端库非常陈旧,并且在很大程度上已被弃用,取而代之的是 REST API。如果您在 2015 年之后使用任何版本的 TFS,请查看可用的 REST API 选项。 你知道如何从 C# 中查询 REST API 吗? 有 REST API 客户端库或者你可以使用HttpClient
。首先查看 REST API 文档。请注意,REST API 可能不可用或仅部分功能可用,具体取决于您使用的 TFS 版本。您已使用 Azure DevOps 和 TFS 标记了您的问题,因此您需要提供有关您正在使用的版本或是否在云中使用 Azure DevOps 的更多上下文。
【参考方案1】:
确保您的 TFS Uri 和 Credentials 是正确的。
您正在使用不再受支持的旧版本的库和软件包。
如果您使用的是 2015 年之前的 TFS 或更高版本,则需要将相关软件包更新为最新版本。
低于 2015 TFS 版本请按照以下步骤操作:
安装最新版本的包并检查步骤here
请参阅上面的 TFS 2015 在这里查看Link 1 & Link 2
【讨论】:
以上是关于如何在 TFS 中使用 TfsTeamProjectCollection的主要内容,如果未能解决你的问题,请参考以下文章
如何在 TFS 中使用命令行任务在发布期间备份 SQL 数据库?