繁体   English   中英

获取 XAML 构建定义中的详细步骤

[英]Getting detailed steps in a XAML build definition

我在使用 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);

顺便说一句,此定义的最后一次构建失败(由于放置文件夹不可用),并且在我在代码中获得的定义中它也是 null。 我仍然可以在服务器上看到所有以前的构建。 我原以为 lastbuild 将包含最后一次成功的构建或具有“失败”状态或其他内容的最新构建。

XAML 构建没有任务。 这是 Windows 工作流程。 没有办法获得“步骤”,因为 XAML 构建过程模板实际上是一个程序。 您可以运行相同的构建两次并根据任意数量的因素获得完全不同的行为。

如果您使用的是开箱即用的构建过程模板,您会发现默认的 JSON 构建/YAML 构建模板或多或少地执行相同的操作。 如果您有自定义构建过程模板,则必须在 XAML 编辑器中打开它并通读代码并尽可能复制它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM