【发布时间】:2013-10-31 14:03:50
【问题描述】:
我在将构建排队到具有指定搁置集的 TFS 构建服务器时遇到了问题。我正在运行 TFS 2012。我有一个包含许多项目的视觉工作室解决方案。我将打开解决方案,对一些项目中的几个 .h 头文件进行更改,然后为该更改集制作一个搁置集。
接下来,我将构建排队到 TFS 服务器。在构建定义中,我选择了刚刚创建的搁置集。但是,当 TFS 构建服务器处理排队构建时,它的行为就好像它忽略了搁置集。当编译器处理那些有修改文件的项目时,sources文件夹中的头文件不包含指定shelfset中的更改。
这是有趣的一点。在处理构建时,我已经查看了构建服务器上创建的文件。首次创建和填充源文件夹时,会显示指定搁置集中的更改。但是当构建过程到达相关项目文件时,源文件已更改回没有搁置更改的版本。
【问题讨论】:
-
您是否完全自定义了构建?
-
没有。除了更改设置以使用指定的搁置集构建最新源之外,当我对构建进行排队时,我没有更改任何其他参数。
-
明确一点:您使用的是哪个构建过程?它是默认的构建过程,还是定制的?从您的回答中我无法判断您是否知道构建过程可以自定义 - 而不仅仅是参数化。
-
抱歉 - 这是默认进程。我想我找到了问题所在。在构建过程中发生错误,停止构建过程,并且只有在此错误之后,构建服务器上的源才从“最新版本 + Shelveset”更改为“最新版本”。不过,仍然不确定为什么会这样。