将 TFS2012 XAML MSBuild 构建定义转换为 TFS2017 MSBuild 定义

Converting TFS2012 XAML MSBuild build definitions to TFS2017 MSBuild definition

我们最近 migrated/upgraded TFS2012 到 TFS2017。在 TFS2017 XAML 中,MSBuild 定义已被弃用但仍然有效。我们计划明年升级到 TFS2018,需要转换大约。 300 XAML 构建定义为新的 TFS MSBuild 引擎格式。不幸的是,我们已经停用了旧的 TFS 2012 平台和 XAML 编辑器。有没有人做过这些转换或经历过从头开始创建新构建定义的手动过程?是否有我在 TFS2017 中没有看到的转换或克隆工具?我搜索了这个问题的所有 TFS 标签并找到了 none。我们有一年的时间来转换 300 个构建定义,我不想等到最后一刻。感谢任何反馈。

这两个构建系统根本不同。无法自动将 XAML 构建定义转换为较新的构建系统。

如果您只是使用现有的 XAML 构建模板,新构建系统中的内置模板将产生大致相同的行为。

对于基于 Web 的跨平台构建系统——vNext 构建,这是我们在 TFS2018 中唯一支持的模型。 XAML TFS 2018 不支持构建。我们鼓励您迁移 XAML 构建。如果您尚未准备好迁移并需要继续使用 XAML 版本,则不应升级到 TFS 2018。

When you upgrade to TFS 2018:

  • If you have any XAML build data in your team project collection, you'll get a warning about the removal of XAML build features.
  • In TFS 2018, you'll be able to view completed XAML builds, but you won't be able to queue new ones.
  • There's no new version of the XAML build controller or agent in TFS 2018, and you can't configure an older version of the XAML build
    controller or agent to work with TFS 2018.

但是,要从 XAML 迁移到 vNext,没有通用的自动化方法来执行此操作。这些系统非常不同,您实际上只需要创建新的构建定义来执行您想要的操作。对于做过大量自定义(如编写自定义工作流任务)的人来说,这将是真正的工作。好消息是,较新的系统有大量易于使用的任务——既有“开箱即用”的,也有市场上有售的。

这里有一些关于迁移旧的 XAML 和创建新的 vNext 构建定义的文档: