是否可以使用tf.exe确定给定本地路径的服务器上是否存在工作区?
这可以使用 TFS API 来完成,但这需要我在使用它之前构建任务源代码,这是不可能的,因为我还没有工作区。将二进制文件 checkin 源代码管理不是一种选择。
有什么想法吗?
最佳答案
如果您运行在本地目录中传递的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%
关于msbuild - 确定构建服务器上是否存在工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700816/