【问题标题】:Getting detailed steps in a XAML build definition获取 XAML 生成定义中的详细步骤
【发布时间】: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 工作流。
  • 你好朋友,这个问题有更新吗?请检查丹尼尔的回答是否有助于解决您的难题。一旦你仍然被阻止,请随时告诉我~

标签: c# xaml tfs build


【解决方案1】:

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

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

【讨论】:

  • 感谢我能够下载通过 Visual Studio 使用的 XAML 文件/模板,因此我可以将其用作起点(之前完全错过了该下载选项)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
相关资源
最近更新 更多