2013-10-22 48 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'。現在我知道情況並非如此,我不會再爲此擔心了。