2012-02-17 58 views
2

我是新來的TeamCity構建構建機器上工作,所以請溫柔通過TFS /團隊建設,但不TeamCity的

我已經成立了的TeamCity構建服務器上。.net通過Visual Studio Team Build創建工作,但不通過Teamcity啓動(通過單擊管理中的運行按鈕以及簽入時)。

該版本是與負載類似引用錯誤的失敗,如.. 用戶控制\ ucCalendar.cs

(19, 11): error CS0246: The type or namespace name 'AxMSACAL' could not be found (are you missing a using directive or an assembly reference?) 
followed by our own objects which have not been created due to other errors. 
DAL\OrderItemCollection.cs 

(31, 16): error CS0246: The type or namespace name 'OrderItem' could not be found (are you missing a using directive or an assembly reference?) 

我明白這些錯誤的意思,但我明明是缺少一些基本的東西,我不明白爲什麼它工作時通過TFS /團隊建設在構建機上構建,但未能在TeamCity的時候..

  • 兩者都使用相同的物理構建機器
  • 兩者都使用相同的源:從TFS
  • 兩者都使用的MSBuild構建解決方案
  • 源包括dll的等

什麼的TeamCity做的不同,以TFS/TB的外部引用目錄是造成這些錯誤?

任何指針都會非常有幫助。 乾杯

+0

你使用什麼構建跑步者來啓動TeamCity的構建? – 2012-02-20 09:09:02

+0

@the_ joric - build runner是MSBuild – 2012-02-20 09:27:03

+0

而你只是運行你的解決方案?然後我會建議轉到你的'生成代理文件夾並從那裏運行msbuild。你會看到哪些文件丟失,並能夠相應地更改你的構建設置。 – 2012-02-20 09:28:43

回答

3

可嘗試:

  1. 確保您的TFS VCS設置是正確的,你需要附上您的TFS VCS根,然後用此語法添加Checkout的規則:

    +:path/to/ProjectFolder=>. 
    +:path/to/libary=>library/path 
    

    這會將您的Project文件夾的內容簽出到agent.work.dir/buildNumber,並將您的庫檢出到agent.work.dir/buildNumber/library/path。

  2. 打開Visual Studio並檢查對庫的引用,然後進入buildmachine並打開/ buildNumber(您將在TeamCity-> Agents - >(TeamCityAgent) - > Agent Parameters中找到路徑。和看到的TeamCity已經檢查了他們來。

  3. 這也可能有助於打開上buildmachine(agent.work.dir)/ buildNumber,提供安裝了VS,你應該看到你引用的簽出解決方案off

+0

我實際上沒有*任何* chackout規則,所以我猜這是不好的:)目前試圖讓我的腦袋圍繞我需要放置的東西,所以我會回來的方式或其他。因爲我們使用MSBuild作爲構建代理,所以我們不需要盡我所知。 – 2012-02-20 09:49:53

+0

據我所知,VS將需要生成機器,如果你正在嘗試運行MSTests。但是,我同意the_joric,轉到您的代理文件夾並直接使用參數/ v:d(更詳細)運行msbuild。然後相應地添加結帳規則 – 2012-02-20 10:35:25

0

通常,這是TeamCity無法找到存在於構建服務器/開發人員系統上的東西,但TeamCity在「乾淨地」重新創建構建環境時不存在。這正是我們使用它的原因,以抓住這種「它建立在我的系統上!」錯誤。

AxMSACAL項目是否按照TeamCity的正確順序構建?如果它是第三方組件,它是否被TeamCity拉下?

+0

嗨,看起來我有一個類似的問題,當我有一個項目引用,然後該項目引用一些不存在的「乾淨」生成輸出的DLL,這似乎是一個團隊城市中的錯誤。如果你找到了解決方案,我很抱歉? – Jason 2013-08-22 17:37:37

+0

@Jason最好打開一個新的問題。就我們而言,我們確保機器是最新的,並且構建依賴性是「正確的」。 – AlG 2013-08-22 17:52:36