Получение списка сборок Vnext для TFS 2017

Я пытаюсь получить список сборок Vnext, запущенных с использованием C# и BuildHttpClient, но не могу их получить. Однако сборки XAML обнаруживаются.

BuildHttpClient не распознает Vnext Builds? Некоторые форумы предлагают использовать REST API для TFS, но я ищу образец кода.

Любая помощь приветствуется!

1 ответ

Я тестирую на своей стороне, он может получить сборку Vnext через BuildHttpClient.

  1. Установите пакет расширенного клиента Microsoft Team Foundation Server, после чего он автоматически добавит необходимые сборки.
  2. Создайте проект и попробуйте следующий код, чтобы получить список сборок Vnext для TFS 2017:

    using Microsoft.TeamFoundation.Build.WebApi;
    
    using Microsoft.VisualStudio.Services.WebApi;
    
    using Microsoft.VisualStudio.Services.Common;
    
    using System;
    using System.Net;
    
    namespace GetBuild
    {
        class Program
        {
            static void Main(string[] args)
    
            {
                var u = new Uri("http://win-kev006:8080/tfs/DefaultCollection/");
                VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.WindowsCredential(new NetworkCredential("user", "password", "domain"))); 
                var connection = new VssConnection(u, c);
                var buildServer = connection.GetClient<BuildHttpClient>();
                var builds = buildServer.GetBuildsAsync("LCTFVCScrum").Result; 
                for (int i = 0; i < builds.Count; i++)
                {
                    Console.WriteLine(string.Format("  number: {0} -result: {1} - status: {2}", builds[i].BuildNumber, builds[i].Result.ToString(), builds[i].Status.ToString()));
                }
    
            }
        }
    }
    

API REST выглядит следующим образом:

GET https://{instance}/DefaultCollection/{project}/_apis/build/builds?api-version={version}

https://www.visualstudio.com/en-us/docs/integrate/api/build/builds

Другие вопросы по тегам