Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS工作折叠/取消映射“;存在多个名称为“XYZ”的工作区;_Tfs_Tf Cli - Fatal编程技术网

TFS工作折叠/取消映射“;存在多个名称为“XYZ”的工作区;

TFS工作折叠/取消映射“;存在多个名称为“XYZ”的工作区;,tfs,tf-cli,Tfs,Tf Cli,我试图了解如何解决以下情况 我有一个TFS 2012服务器,有三个集合,比如说 - http://tfs2012:8080/tfs/DefaultCollection/ - http://tfs2012:8080/tfs/CollectionOne/ - http://tfs2012:8080/tfs/CollectionTwo/ 在CollectionOne和CollectionTwo中,我有一个同名的工作区,我们称之为“TestWorkspace” 当我在CollectionOne上为该工

我试图了解如何解决以下情况

我有一个TFS 2012服务器,有三个集合,比如说

- http://tfs2012:8080/tfs/DefaultCollection/
- http://tfs2012:8080/tfs/CollectionOne/
- http://tfs2012:8080/tfs/CollectionTwo/
在CollectionOne和CollectionTwo中,我有一个同名的工作区,我们称之为“TestWorkspace”

当我在CollectionOne上为该工作区运行map命令时,它工作得非常好(可以获取、删除、更新等)。当我在使用工作区时尝试取消映射工作区(想想构建机器)时,问题出现了,下面的调用失败

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp
它失败了

Multiple workspaces exist with the name TestWorkspace.
Please specify the Team Foundation Server or qualify the name with the owner.
因此,我尝试以下方法

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp /collection:http://tfs2012:8080/tfs/CollectionOne/
The option collection is not allowed. 
在以下情况下失败

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp /collection:http://tfs2012:8080/tfs/CollectionOne/
The option collection is not allowed. 
另外,指定workpsace的所有者也没有帮助,因为它们属于同一用户


如何取消映射存在于两个或多个集合中的工作区

这被报告为一个错误:


请参见此处了解解决方法:

这确实是一个令人讨厌的缺陷。这里有一个我成功使用的简单解决方法

# Rename existing workspace to something unique
tf workspace /collection:http://yourserver:8080/tfs/DefaultCollection /newname:TEMPORARY /noprompt DEVBOX-SGY

# Unmap based on new (unique) name
tf workfold /unmap /workspace:TEMPORARY C:\Code\Tools

# Rename workspace back to original name to avoid side-effects
tf workspace /newname:DEVBOXSGY /noprompt TEMPORARY

就我个人而言,我无法使用sparkplug提到的解决方法,因为我需要一些自动化友好的东西。

将此标记为答案,因为这似乎是TF.exe和workfold的错误。解决此问题的方法是使用集合规范删除工作区,或者将所有工作区重新映射到另一个位置。或者更好的是,不要这样做。