我正在使用TFS 2015来构建C#解决方案。在此解决方案的文件夹结构深处是包含某些大型非代码数据文件的文件夹。我想要一些构建到 include 这些构建,有些构建到排除它们。
使用TFS 2015 Web界面,我设置了排除这些文件的构建。然后,我使用Repository
选项卡,并使用Cloak
类型映射将数据文件夹添加到Mappings部分。
然而,当我然后对这个构建进行排队时,它失败了“该项目......可能没有被隐藏,因为它没有映射的父级”。
当然,代码存储库中的顶级文件夹已映射。为什么TFS抱怨这个,我该怎么办呢?
答案 0 :(得分:3)
我不知道为什么,但我知道要解决此问题,您只需阅读错误消息:
项目......可能没有隐形,因为它没有映射的父级
因此,如果您在失败的构建中结束了这种存储库结构:
Type Server Path Local Path
Map $/Project $(build.sourcesDirectory)\Project
Cloak $/Project/Assets/Data/Data2013
Cloak $/Project/Assets/Data/Data2014
Cloak $/Project/Assets/Data/Data2015
您只需添加一行,如下所示:
Map $/Project/Assets/Data $(build.sourcesDirectory)\Project\Assets\Data
现在,您尝试Cloak
的项目具有“已映射的父级”,您的构建应该会成功。
您可能认为整个存储库树已“映射”这一事实就足够了,但显然不是。
答案 1 :(得分:2)
您的解决方案只是解决此问题的准确方法。我只会添加一个与为什么相关的点。
在TFS中,隐藏路径表示路径未包含在其父文件夹的递归映射中。当您的工作站在父映射目录中有源代码,并且源代码尚未添加到源控件时,本地目录被认为是隐藏的。
简单来说,就像提到的错误信息一样,这是设计的,如果文件夹没有映射的父级,则不能隐藏“Cloaked
”文件夹。有关详细信息,您可以查看MSDN链接中 cloak 的相关信息:Optimize your workspace using explicit, implicit, cloaked, and non-recursive folder mappings
答案 2 :(得分:1)
答案 3 :(得分:0)
检查此快速解决方案。解决了我的问题。
http://jawedm.blogspot.com/2013/05/error-in-team-foundation-server-this.html
选中标有递归
单击更改按钮-提示 出现 指出:“只有在您 执行获取。您要立即获得$ / [父路径]吗?”,在哪里 “ [PARENT PATH]'是父节点的路径