当我为旧版本的产品创建补丁时,我使用Source Control Explorer查看分支的历史记录。然后,我检查该历史记录中的每个变更集,并记下每个单独的项目。然后,我访问每个项目并获取其主要输出程序集,我将其复制到bin
文件夹以准备分支。 VS 2012或TFS是否有我可以用来执行此操作的API,或者是否有一组CLI命令至少可以为我提供程序集列表,然后我可以使用for
命令进行复制?
答案 0 :(得分:0)
您可以通过TFS API获取分支的变更集中的变更集和文件,但是,这似乎不是获取项目的输出程序集的方法。检查以下代码以获取有关如何获取变更集信息的详细信息:
TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsservername:8080/tfs/DefaultCollection"));
VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));
var changesetlist = vcs.QueryHistory(
"$/BranchServerPath",
VersionSpec.Latest,
0,
RecursionType.Full,
null,
new ChangesetVersionSpec(1),
VersionSpec.Latest,
int.MaxValue,
true,
false);
foreach (Changeset changeset in changesetlist)
{
Console.WriteLine(changeset.ChangesetId + ": ");
Console.WriteLine("*****************");
var changes = changeset.Changes;
foreach (var change in changes)
{
var filename= change.Item.ServerItem;
}
}