如何在 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 UriCredentials 是正确的。

您正在使用不再受支持的旧版本的库和软件包。

如果您使用的是 2015 年之前的 TFS 或更高版本,则需要将相关软件包更新为最新版本。

低于 2015 TFS 版本请按照以下步骤操作:

安装最新版本的包并检查步骤here

请参阅上面的 TFS 2015 在这里查看Link 1 & Link 2

【讨论】:

以上是关于如何在 TFS 中使用 TfsTeamProjectCollection的主要内容,如果未能解决你的问题,请参考以下文章

[TFS]如何彻底删除TFS上的团队项目

如何在 TFS 中使用命令行任务在发布期间备份 SQL 数据库?

如何在TFS中更改数据层(Sql实例)

如何在 TFS 2018 中自动化构建/发布定义?

如何使用 Visual Studio 2003 和 TFS?

如何使用 PowerShell 在 TFS 中签出文件?