我一直遇到将构建排队到具有指定搁置集的TFS构建服务器的问题。我正在运行TFS 2012.我有一个包含许多项目的visual studio解决方案。我将打开解决方案,在一些项目中对几个.h头文件进行更改,然后为该更改集创建一个shelveset。
接下来,我将构建队列到TFS服务器。在构建定义中,我选择刚刚创建的shelveset。但是,当TFS Build服务器处理排队的构建时,它的行为就像忽略了shelveset一样。当编译器处理具有已修改文件的项目时,sources文件夹中的头文件不包括指定shelveset中的更改。
这是有趣的一点。我已经看过在构建处理时在构建服务器上创建的文件。首次创建并填充源文件夹时,将显示指定搁置集中的更改。但是当构建过程到达相关的项目文件时,源文件已经更改回版本而没有更改搁置集。
答案 0 :(得分:1)
据我所知,源的最新版本加上选定的变更集已复制到构建服务器,但是当发生构建错误时,源代码仅替换为最新版本。
不确定为什么会这样。当它第一次出现时,看起来好像源代码在构建错误之前从'latest + shelveset'变为'latest'。现在我知道情况并非如此,我不会再担心这件事。