当我尝试调用命令行以获取 TFS 映射文件夹的最新更新时
TF get /recursive
run
从Windows 7的窗口调用成功完成。
但是,当我将调用放入 .bat 文件并InvokeProcess
在构建定义中运行它时(指南),它失败了。
消息如下。
无法确定工作区。您可以通过运行 'tf workspaces /collection:TeamProjectCollectionUrl' 来纠正此问题
怎么了?我怎样才能解决这个问题?
当我尝试调用命令行以获取 TFS 映射文件夹的最新更新时
TF get /recursive
run
从Windows 7的窗口调用成功完成。
但是,当我将调用放入 .bat 文件并InvokeProcess
在构建定义中运行它时(指南),它失败了。
消息如下。
无法确定工作区。您可以通过运行 'tf workspaces /collection:TeamProjectCollectionUrl' 来纠正此问题
怎么了?我怎样才能解决这个问题?
发生这种情况的原因是当您在本地运行命令时,您正在下载的文件夹被映射到工作区。当您在构建中执行该命令时,它会在构建服务帐户下运行,该帐户没有为您指定的文件夹映射工作区。
您不需要在tf get
构建过程中使用该命令。配置构建时,您可以在“源设置”选项卡上指定应在工作区中映射哪些文件夹。构建过程将确保您在工作区中映射的文件夹的内容自动出现。
我的问题的原因是构建代理在不同的 Windows 帐户下执行我的 .bat 文件,例如NTSERVICE
;当我直接运行它时,使用了我的 TFS 登录帐户(之前在 Windows 7 凭据管理器中记住了该帐户)
所以解决方案是将登录名和密码输入为(在此处TF get /login:SomeTFSUsername,SomePassword
查看更多信息)