我正在使用TFS实用程序来获取TFS中特定项目的更改集。我有一个家庭TFS 2010服务器,我主要用于测试,但我决定尝试一下我为之贡献的codeplex项目。这样,我就可以测试比我在本地更多的变更集的功能。针对codeplex项目的QueryHistory无限期挂起
虽然它在我的环境中工作正常,但通过电缆走向codeplex已经让我难倒了。我的应用程序查询历史记录,但是当试图遍历历史记录时(这是它延迟加载IEnumerable时),我的应用程序挂起。
看着Intellitrace,我看到了一些“第一次机会”例外,即“项目不存在于指定版本” - 这显然不是真实的,因为我试图获取“$ /“在VersionSpec.Latest。
我也看到两个或三个连续的服务器500错误被强制调试暂停后返回给我。
其他操作(如GetItems()
)工作正常,所以我很确定身份验证不是问题。
有什么想法?
下面的代码:
IEnumerable items = vcs.QueryHistory("$/", VersionSpec.Latest, 1, RecursionType.None, null, null, null, 5, true, false);
List<ChangesetItem> returnList = new List<ChangesetItem>();
foreach (Changeset cs in items) //hangs here on first iteraiton
{
ChangesetItem newItem = new ChangesetItem()
{
ChangesetId = cs.ChangesetId,
//ChangesetNote = cs.CheckinNote.Values[0].Value,
Comment = cs.Comment,
Committer = cs.Committer,
CreationDate = cs.CreationDate
};
returnList.Add(newItem);
}