确定构建服务器上是否存在工作空间

时间:2011-04-18 09:19:58

标签: msbuild tfs2008 tfsbuild msbuild-task

是否可以使用 tf.exe 确定给定本地路径的服务器上是否存在工作区?

这可以使用TFS API完成,但这需要我在使用之前构建任务源代码,这是不可能的,因为我还没有工作区。将二进制文件检入源代码控制不是一种选择。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果您运行传入本地目录的tf.exe workfold命令,如果未映射文件夹,它将返回错误,或者它将返回工作区信息。您可以(以hacky方式)通过将stderr重定向到文本文件来确定是否发生错误,然后检查文件是否为空。例如:

tf.exe workfold c:\some\mapping\folder\path 2> error.txt

您也可以从命令中检查退出代码。根据研究,如果出现错误,退出代码似乎设置为100。不确定您可以在任务中执行哪些操作,但在CMD文件中,您可以检查ERRORLEVEL

要查看此操作,请尝试:

tf.exe workfold "C:\program files" 2> error.txt
echo %ERRORLEVEL%