在TFS构建定义中执行时出错

时间:2013-12-23 12:23:39

标签: batch-file command-line tfs tfsbuild build-definition

当我尝试调用命令行来获取我的TFS映射文件夹的最新更新

TF get /recursive

从Windows 7的run窗口成功完成呼叫。

但是,当我将调用放入.bat文件并在构建定义(guide中)通过InvokeProcess运行它时,它就失败了。

信息如下。

  

无法确定工作区。您可以通过以下方式纠正此问题   运行'tf workspaces / collection:TeamProjectCollectionUrl'

会发生什么?我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:1)

发生这种情况的原因是,当您在本地运行命令时,您正在下载的文件夹将映射到工作区。在构建中执行命令时,它在构建服务帐户下运行, 没有为您指定的文件夹映射工作区。

您不需要在构建过程中使用tf get命令。配置构建时,可以在“源设置”选项卡上指定应在工作区中映射的文件夹。构建过程将处理确保您在工作区中映射的文件夹的内容自动出现。

答案 1 :(得分:0)

我的问题的原因是构建代理在不同的Windows帐户下执行我的.bat文件,类似于NTSERVICE;当我直接运行它时,使用了我的TFS登录帐户(以前在Windows 7 Credential Manager中记住)

因此,解决方案是将登录名和密码设置为TF get /login:SomeTFSUsername,SomePassword(请参阅更多here