【问题标题】:C# TFS SDK Get Items from changesetC# TFS SDK 从变更集中获取项目
【发布时间】:2019-05-06 23:54:44
【问题描述】:

我想从特定变更集中的项目中获取内容。使用我的代码,我得到了正确数量的项目,但项目的每个属性都是空的,只有正确的 URL 被填充。所有其他属性都设置为空。 我该如何解决这个问题?

string collectionUri = @"https://tfs.myServer.de/MyProject";
using (TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(collectionUri)))
{
   TfvcHttpClient tfvcClient = tpc.GetClient<TfvcHttpClient>();
   var changedItems = tfvcClient.GetChangesetAsync(125453).Result;
   IEnumerable<TfvcChange> changesetChanges=tfvcClient.GetChangesetChangesAsync(changedItems.ChangesetId).Result;
   foreach (var itemsChange in changesetChanges)
   {
      Console.WriteLine(itemsChange.NewContent.Content);
   }
}

【问题讨论】:

    标签: c# tfs tfs-sdk


    【解决方案1】:

    这将为您获取变更集项目的内容

    private static async Task ReadContent(TfvcHttpClient tfvcClient)
    {
        var changesetId = 123456;
        var changesetChanges = await tfvcClient.GetChangesetChangesAsync(changesetId);
        var tfvcVersionDescriptor = new TfvcVersionDescriptor(null, TfvcVersionType.Changeset, changesetId.ToString());
    
        foreach (var changesetChange in changesetChanges)
        {
            var path = changesetChange.Item.Path;
            Stream contentStream = await tfvcClient.GetItemContentAsync(path, versionDescriptor: tfvcVersionDescriptor);
            using (StreamReader streamReader = new StreamReader(contentStream))
            {
                var content = streamReader.ReadToEnd();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多