我在排队构建时遇到此问题。构建模块出错团队建设:即使删除构建代理上的所有工作空间后,路径“路径”已映射到工作空间“工作空间”错误
路径C:\ [Path] \ Sources已经映射到工作区[Server Name]中。
the same as this question。通过删除TFS缓存文件夹
tf workspaces /remove:*
也:但我已经运行以下命令删除上生成代理所有的工作区。我也重新启动了服务器,但每次构建都会发生错误。
我在排队构建时遇到此问题。构建模块出错团队建设:即使删除构建代理上的所有工作空间后,路径“路径”已映射到工作空间“工作空间”错误
路径C:\ [Path] \ Sources已经映射到工作区[Server Name]中。
the same as this question。通过删除TFS缓存文件夹
tf workspaces /remove:*
也:但我已经运行以下命令删除上生成代理所有的工作区。我也重新启动了服务器,但每次构建都会发生错误。
好的,所以解决方案最终与YeahStu posted on here相似。我改变了生成代理的工作目录从
$(Temp)\UI\$(BuildDefinitionPath)
到
$(Temp)\UI\$(BuildDefinitionPath)\$(BuildDefinitionID)
奇怪的是,我们有其他构建代理$(Temp)\UI\$(BuildDefinitionPath)
仍在运行和正常工作。这两个代理之间的唯一区别是停止工作的代理安装了Visual Studio 2010 RC,而仍在工作的代码上有VS2010 Beta2。不知道为什么这应该有所作为。对这里的工作目录属性
这帮了我。我在构建代理上安装了VS2010 Ultimate(RTM),并立即开始失败。谢谢! – Paul 2010-09-10 18:06:31
更多信息:
http://msdn.microsoft.com/en-us/library/bb399135.aspx
然而,在RTM版本 “$(HOMEDRIVE)” 不被认可。可能是因为外壳;尚未对其进行测试,因此请注意文档中的缺陷。
我有同样的问题 - 它运行良好,直到我在生成代理上安装VS2010。添加BuildDefinitionId修复了它,但奇怪的是安装VS2010会弄乱已经设置和运行的工作区。
改为
$(TEMP)\ UI \ $(BuildDefinitionPath)\ $(BuildDefinitionID)
使它工作,但不是100分%的情况。每次构建失败时(例如源代码中的某些错误),然后在修复错误并尝试再次运行团队构建后,它在“Workspace XYZ已映射...”上失败,然后我必须手动删除此“Team Foundation Sidekick 2010”的工作区映射,并再次运行团队构建以取得成功。下一次执行相同的团队构建不止一次会成功构建,但是直到某些团队构建根据源代码中的某些错误而失败时,它再次开始抛出“工作区映射”错误。
在我看来,TFS 2010在某些团队构建失败,没有清除/删除使用的工作空间或类似的东西时存在一些错误。
有没有人遇到同样的问题?
我认为只有在一个构建框上有多个构建代理时,才会出现该问题。
我有3个代理分配给1个控制器。你认为这可能是问题吗? – psulek 2011-01-15 15:59:11
这确实是我的问题。我将我的两个构建代理设置为使用单独的工作副本,并且它消失了。 – 2017-02-10 10:22:25
我认为你的问题可能与3个没有标记的构建代理有关。我认为工作区如果被遗忘,会被正在进行构建的代理删除。如果它是创建工作空间的代理的不同代理,那么会出现明显的问题。
所以要解决此问题,您需要执行以下操作。 名称一个代理默认代理。这将没有标签。 在其他两个代理中,在属性中为代理添加一个标记,为每个代理添加一个标记并选择它。
现在任何没有标记集的执行构建将始终使用默认代理。
要让构建使用其他代理之一,请打开构建定义并转到Process中的高级部分。
打开代理设置,然后在代码过滤器中选择省略号,然后为您要使用的构建代理输入的标记输入相同名称的标记。
您可能需要在第一次运行之前清理工作区。
通过执行上述操作,您可以控制每个构建定义使用哪个构建代理,因此也应该停止工作空间问题。
http://www.devaffair.com/2011/11/path-is-already-mapped-in-workspace.html
嗯,其实这个问题已经在这个网站其他几个问题解决了,但我会再发布我的答案:)
此链接将引导您到博客里面大概会最快解决您的问题
我能够删除工作区。 在构建服务器上执行以下操作:
从sysinternals下载psExec。
http://technet.microsoft.com/en-us/sysinternals/bb897553
以管理员身份打开cmd。
运行psexec以打开cmd作为网络服务。
psexec -i -u“权限\网络服务”cmd.exe 打开另一个“nt authority \ network service”正在使用的cmd窗口。
运行“whoami”以确保您现在是“nt authority \ network service”。
通过键入devenv打开visual studio。
在Visual Studio中\团队资源管理器,连接到源代码管理服务器
在Visual Studio中\源代码控制管理,扔掉违规的工作区。
我不知道为什么,但tf工作区/删除不适合我。
这是最好的解决方案。 – 2015-05-04 11:05:31
我很确定上面的命令行只会删除当前用户的工作空间,所以仍可能有一个工作空间与另一个用户(在该机器上)已经映射了相同路径的工作空间相关联。 您可以使用TFS Sidekicks轻松查看与给定客户机关联的所有工作区。(对不起,如果我教你吸鸡蛋!) – JamesD 2010-02-26 17:47:12