c# – 如何获取特定团队项目的签入/更改历史记录?

我正在使用TFS客户端API来尝试查询TFS 2010实例.
我需要能够做到以下几点

>对于指定的团队项目,请说“项目A”
>获取最近签到这个项目的历史记录列表(比如最后50个,或者最后一天的列表)

然后能够遍历此列表并获取项目的元数据(理想的文件和文件夹名称)

我想我需要在VersionControlServer类上使用QueryXXX方法,但是找不到有关如何使用它的任何有用或明确的示例.

我已经看到有GetLastestChangesetId方法,但这看起来不像它可以作用于特定项目或目录.

解决方法

这非常简单:
var tfsUrl = "http://myTfsServer:8080/tfs/defaultcollection";
var sourceControlRootPath = "$/MyTeamProject";
var tfsConnection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsUrl));
var vcs = tfsConnection.GetService<VersionControlServer>();

var changeSets = vcs.QueryHistory(sourceControlRootPath,RecursionType.Full);

foreach (var c in changeSets)
{
    var changeSet = vcs.GetChangeset(c.ChangesetId);
    foreach (var change in changeSet.Changes) 
    {
       // All sorts of juicy data in here
    }

}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...