来自我的ASP.Net App我想使用我们的本地TFS 2015 Update 3的C#TFS客户端SDK(或者如果可能的REST API)检索特定变更集的所有代码注释。我已经已经安装了nuget包Microsoft.TeamFoundationServer.ExtendedClient。我知道如何获取变更集或特定文件 - 但我不知道如何加载评论。
收到评论后,我还想更改(添加)注释到变更集(而不是文件)。
谢谢你的帮助!
答案 0 :(得分:0)
这可以通过在TFS Client SDK中使用Microsoft.TeamFoundation.Discussion.Client来实现。以下是代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Discussion.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace LightweightCodeView
{
class Program
{
static void Main(string[] args)
{
string projecturi = "https://xxx:8080/tfs/";
int changesetid = xxx;
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(projecturi));
VersionControlServer vcs = ttpc.GetService<VersionControlServer>();
Changeset cset = vcs.GetChangeset(changesetid);
TeamFoundationDiscussionService tfds = new TeamFoundationDiscussionService();
tfds.Initialize(ttpc);
IDiscussionManager idm = tfds.CreateDiscussionManager();
IAsyncResult iar = idm.BeginQueryByVersion(cset.ArtifactUri, QueryStoreOptions.ServerOnly, new AsyncCallback(Callback), null);
var threads = idm.EndQueryByVersion(iar);
foreach (DiscussionThread dt in threads)
{
Console.WriteLine(dt.RootComment.Content);
Console.WriteLine(dt.RootComment.Author.DisplayName);
Console.ReadLine();
}
//Update Changeset comments
cset.Comment = "New Comments";
cset.Update();
}
static void Callback(IAsyncResult result)
{
}
}
}