为什么我的 TFS 构建会浪费时间,即使没有 Drops 文件夹



我们有 TFS 服务器 2013 的小型设置,并为单个项目运行生成。对于该项目,我们只有一个关闭了 Drops 功能的构建定义。也就是说,This build does not copy output files to a drop folder.然而,每次保存构建定义时,我们都会收到以下消息:

此构建浪费时间和计算机资源,因为您的工作 文件夹包括团队项目 (...项目),其中包括 删除文件夹。您应该遮盖"掉落"文件夹。看 http://go.microsoft.com/fwlink/?LinkId=269693。

通常我会遵守并掩盖 Drops 文件夹。但这会导致构建在最后(在构建、测试和部署完成后)挂起,紧接着"重置环境"。

我的问题是,为什么 TFS 警告我们必须隐藏 Drops 文件夹,即使实际上没有?还是在那里,我完全忽略了它?

我遇到了同样的问题,上面的解决方案无济于事,因为 Dylan Smith 没有解释在没有 Drops 文件夹(空或不空)时如何停止警告,这是原始问题中的问题。我的"黑客"解决方案是在根 TFS 项目中创建虚拟 Drops 文件夹并将其隐藏起来。

找到解决方法:首先,将 cloak 指令添加到不存在的 Drops 文件夹中:

Cloak | $[解决方案名称]\Drops

保存这个,它不会抱怨。 对生成进行排队,并让它失败,因为"丢弃未映射"。返回到生成定义,删除已遮盖的 Drops 文件夹,然后保存它。 对我来说,我不再收到警告。 希望这对其他人有用!

这是一个问题,因为这意味着 TFS Build 不仅会下载源代码,还会下载所有删除内容。 通常这是一种浪费,因为它不需要下载drops文件夹。 在您的情况下,Drops 文件夹可能为空,但警告逻辑不够智能,无法实现这一点。

最新更新