Получение подробных шагов в определении сборки XAML - PullRequest
0 голосов
/ 03 августа 2020

У меня есть этот старый проект на сервере сборки TFS 2017, который использует определение сборки XAML. Я хотел бы получить все шаги, которые выполняет сборка, поскольку кажется, что создается решение и создаются некоторые пакеты.

Администратор TFS (не я) не может установить какие-либо плагины, которые позволяют экспортировать сборка ... поэтому я пытаюсь использовать код

В настоящий момент у меня есть код ниже, чтобы получить базовую c информацию, но мне нужна подробная информация о шаге / задаче, чтобы я мог настроить новый build, которая делает то же самое. Я все еще могу получить доступ к определению сборки xaml в VS, но это говорит только о том, что он создает решение, а не о других шагах. Я получил идентификатор определения, сначала перебрав все определения для проекта. Это не обязательно должен быть аккуратный код, пока я получаю то, что мне нужно быстро и грязно.

    TfsTeamProjectCollection ttpc2 = new TfsTeamProjectCollection(tfsurl);
    var buildClient = ttpc.GetClient<XamlBuildHttpClient>();
    var defs = buildClient.GetDefinitionsAsync(project: "PROJECT NAME").Result;

    var definition = defs.First(x => x.Id == 22);
    Console.WriteLine("uri: " + definition.Uri);
    Console.WriteLine("name: " + definition.Name);
    Console.WriteLine("id: " + definition.Id + " project id: " + definition.Project.Id);

кстати, последняя сборка этого определения не удалось (из-за недоступности папки для перетаскивания), и оно также равно нулю в определении, которое я получаю в коде. Я все еще могу видеть все предыдущие сборки на сервере. Я бы подумал, что последняя сборка будет содержать либо последнюю успешную сборку, либо последнюю сборку со статусом «сбой» или что-то в этом роде.

1 Ответ

0 голосов
/ 03 августа 2020

Сборка XAML не содержит задач. Это Windows Рабочий процесс. Получить «шаги» невозможно, потому что шаблон процесса сборки XAML на самом деле является программой. Вы можете запустить одну и ту же сборку дважды и получить совершенно другое поведение в зависимости от любого количества факторов.

Если вы используете готовый шаблон процесса сборки, вы обнаружите, что по умолчанию * Шаблоны сборки 1005 * build / YAML делают примерно то же самое. Если у вас есть собственный шаблон процесса сборки, вам придется открыть его в редакторе XAML, прочитать код и воспроизвести его как можно лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...