2011-04-05 78 views
0

我正在嘗試設置TeamCity。最初,我遇到了各種問題,但經過多次反覆試驗,我成功完成了構建。所以我知道我可以獲得我的解決方案的減少版本以成功構建。使用TeamCity構建MSpec測試

但是,有問題的項目之一是我的MSpec測試。當我配置我的解決方案來構建MSpec測試項目中,我得到以下埃羅:

區\生產\ \控制器DashboardControllerSpecs.cs(7,30):錯誤CS0234:類型或命名空間名稱「主機」呢在命名空間中不存在「CompanyName.ApplicationName」(是否缺少程序集引用?)

事實是,它建立在我的本地計算機上,但在構建服務器,這恰好是對「精」我本地機器,我得到上面的錯誤。

我會做什麼錯?我應該檢查什麼以查明我做錯了什麼?

回答

0

好吧,

我想我已經找到了我做錯了什麼。實際上,我們正在MSBuild文件中進行版本編號。目標名稱被指定爲「BeforeBuild」。爲了讓TeamCity建立這個,我最終將其改爲「Build」。最終的結果是,如果沒有Spec項目,TeamCity會構建這樣的罰款,但在Spec項目包含在構建中時遇到問題。

我甚至不知道爲什麼會發生這種情況。但是,解決方案是刪除MSBuild文件中的部分,並讓TeamCity管理版本編號。

+0

很高興你終於找到它了!我完全不知所措,因爲你可能已經注意到了:)如果你是這樣解決它的話,你可能需要將自己的答案標記爲正確答案。它將使人們更容易在未來找到合適的解決方案。 – 2011-04-07 11:10:35

+0

@Sergi - 我毫不猶豫地將其標記爲我的答案。我知道這可能會有所幫助,但我們的設置非常特別。但是,當我被允許時,我會標記它:)。現在我遇到了另一個問題,您的幫助將不勝感激。 http://stackoverflow.com/questions/5578031/unable-to-run-mspec-test-due-to-the-fact-that-teamcity-is-building-test-assembly – DavidS 2011-04-07 11:26:24

+0

我看過你的其他問題,我恐怕我甚至不知道從哪裏開始:( – 2011-04-07 11:42:38

0

最明顯的一個當然是,你是bin部署(將Copy to Local選項設置爲true)所有不在GAC上的引用程序集?
您可能要特別檢查Machine.Specifications dll設置爲Copy to Local

Hosts應用中的類型或名稱空間嗎?不管怎樣,這不是Mspec的一部分,我剛剛查過。

+0

@Sergi Papaseit,「主機」是名稱空間中的一個文件夾,並且「複製到本地」選項設置爲true – DavidS 2011-04-05 14:31:08

+0

@David - Mhm ..是否在「構建服務器」上正確創建了文件夾結構?我的意思是,'Hosts'文件夾是否出現在部署文件夾中的磁盤上? – 2011-04-05 14:38:09

+0

@Sergi Papaseit - 由於我是Teamcity的新手,如果出現在部署文件夾中的磁盤上,那麼您的意思是在「../TeamCity/buildAgent/work」文件夾下(我使用默認選項設置了TeamCity),然後是文件夾結構出現在磁盤上。但是,我看不到任何「部署」文件夾。那可能是哪裏? – DavidS 2011-04-05 15:00:04

相關問題