【发布时间】:2020-11-23 15:30:00
【问题描述】:
我在使用 XAML 构建定义的 TFS 2017 构建服务器上有这个旧项目。 我想获取构建执行的所有步骤,因为它似乎构建了解决方案并制作了一些包。
TFS 管理员(不是我)无法安装任何允许您导出构建的插件...所以我正在尝试通过代码
我现在有下面的代码来获取基本信息,但我需要详细的步骤/任务信息,以便我可以设置一个完全相同的新版本。我仍然可以在 VS 中访问 xaml 构建定义,但这只是说它构建了解决方案,没有其他步骤。
我首先通过循环遍历项目的所有定义来获得定义的 id,只要我快速而肮脏地得到我需要的东西,它就不必是整洁的代码。
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);
顺便说一句,此定义的最后一次构建失败(由于放置文件夹不可用),并且在我在代码中获得的定义中它也为空。 我仍然可以在服务器上看到所有以前的构建。我原以为 lastbuild 将包含最后一次成功的构建或具有“失败”状态或其他内容的最新构建。
【问题讨论】:
-
XAML 构建没有任务。这是 Windows 工作流。
-
你好朋友,这个问题有更新吗?请检查丹尼尔的回答是否有助于解决您的难题。一旦你仍然被阻止,请随时告诉我~