Msbuild 确定生成服务器上是否存在工作区

Msbuild 确定生成服务器上是否存在工作区,msbuild,tfsbuild,msbuild-task,Msbuild,Tfsbuild,Msbuild Task,是否可以使用tf.exe确定给定本地路径的服务器上是否存在工作区 这可以使用TFSAPI来完成,但这需要我在使用它之前构建任务源代码,这是不可能的,因为我还没有工作区。将二进制文件签入源代码管理不是一个选项 有什么想法吗?如果在本地目录中运行传递的tf.exe workfold命令,如果文件夹未映射,它将返回错误,或者它将返回工作区信息。通过将stderr重定向到文本文件,然后检查文件是否为空,可以(以一种黑客的方式)确定是否发生了错误。例如: tf.exe workfold c:\some\m

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

这可以使用TFSAPI来完成,但这需要我在使用它之前构建任务源代码,这是不可能的,因为我还没有工作区。将二进制文件签入源代码管理不是一个选项


有什么想法吗?

如果在本地目录中运行传递的
tf.exe workfold
命令,如果文件夹未映射,它将返回错误,或者它将返回工作区信息。通过将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%

你到底想在这里完成什么?你为什么要知道这些?对于您拥有的工作空间,您可以通过VisualStudio查看它们。生成服务器使用的工作区是在生成代理上设置的,因此不需要执行任何特殊操作来确定生成服务器使用的目录。