2

我在 TFS 存储库上有一个 2008 软件,该TFSBuild.proj存储库已从 2008 年迁移到 2017 年。我有一个 TFS 2017 构建代理,其上已安装 Visual Studio 2017 (15.7.6)。

只有从TFSBuild.projXAML 版本到 XAML 版本的自动迁移路径。但是,根据“ TFS 构建过程在哪里? ” ,XAML 构建已经过去三年了。 在 2017 年,他们需要从 2010 年到 2013 年的较旧的构建代理,而我只有一个 2017 年的构建代理(和 2008 年的构建代理)。

没有自动迁移路径到有点不明智地命名为“vNext”的构建系统。(它现在是“当前的”,并且阻碍了命名微软的下一个构建系统。☺)所以我一直在手动编写自己的构建定义,手动转换旧的TFSBuild.proj习惯。

它过去所做的一些事情涉及在内部编写的 DLL 中的自定义 MSBuild 任务,例如使用Microsoft.TeamFoundation.VersionControl.Clientet al. 获取最新成功构建的最新变更集,方法是获取名称与特定模式匹配的最新标签,然后查看其所有项目的变更集 ID。在“vNext”构建定义中,这似乎是另一个(我已经有一些)不错的 Powershell 任务,调用 Powershell TFS cmdlet

除了这些现在似乎不可用。它们位于 TFS 早期版本的 TFS Power Tools 中。 TFS 2017 发行说明说没有适用于 TFS 2017 的电动工具,并声称它们已正确集成到 TFS 中。 我的 TFS 2017 构建代理似乎不是这种情况:

PS C:\> 获取 TfsServer
Get-TfsServer:术语“Get-TfsServer”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查
名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
在行:1 字符:1
+ 获取 TfsServer
+ ~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-TfsServer:String) [], CommandNotFoundException
    +fullyQualifiedErrorId:CommandNotFoundException

PS C:\>

如果可以的话,我宁愿拥有 Microsoft cmdlet,而不是自己制作,为了后面的程序员。毕竟,我那个程序员,处理之前为构建系统创建的内部扩展。☺

那么我的选择是什么?

4

1 回答 1

0

我建议通过执行get-command *tfs*进行一些搜索。如果 tfs 确实没有附带命令,请考虑查看 psgallery。画廊中可能已经有您尝试管理的技术的 cmdlet。

尝试: find-command *tfs*find-module *tfs*

于 2018-08-17T13:10:19.047 回答