2013-10-22 45 views
2

我一直在遇到将构建排队到具有指定搁置组的TFS构建服务器的问题。我正在运行TFS 2012.我有许多项目的Visual Studio解决方案。我将打开解决方案,在几个项目中对几个.h头文件进行更改,然后为该更改集制作一个搁置集。无法将TFS构建服务器与搁置组合使用

接下来,我将构建队列队列到TFS服务器。在构建定义中,我选择刚刚创建的shelveset。但是,当TFS构建服务器处理该排队构建时,其行为就像忽略了shelveset一样。当编译器处理具有修改文件的项目时,sources文件夹中的头文件不包含指定shelveset中的更改。

这是有趣的一点。在构建处理过程中,我观看了构建服务器上创建的文件。首先创建并填充源文件夹时,存在指定的shelveset中的更改。但是,当构建过程到达相关的项目文件时,源文件已经被更改回版本,而没有更改shelveset。

+2

你是否定制过构建? –

+0

不可以。除了将设置更改为使用指定的shelveset构建最新源代码之外,排队构建时没有任何其他参数发生更改。 –

+0

只是要清楚:你正在使用哪个构建过程?它是默认的构建过程还是定制的?我无法从你的回答中知道你是否知道构建过程可以定制 - 而不仅仅是参数化。 –

回答

1

据我所知,源代码的最新版本加上所选的变更集被复制到构建服务器,但是当发生构建错误时,源代码只被替换为最新版本。

不知道为什么发生这种情况。当它第一次出现时,看起来在构建错误之前源代码从'latest + shelveset'更改为'latest'。现在我知道情况并非如此,我不会再为此担心了。