2012-11-26 76 views
1

我有一個使用teamcity作爲構建/部署服務器的Windows Server 2003框。我在一個新的asp.net的MVC 4項目的檢查,這是crapping出與以下錯誤:在那個盒子asp.net mvc 4網站拒絕在teamcity上構建

App_Start\BundleConfig.cs(2, 18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) 

Controllers\AccountController.cs(8, 7): error CS0246: The type or namespace name 'DotNetOpenAuth' could not be found (are you missing a using directive or an assembly reference?) 

Global.asax.cs(7, 18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) 

Models\AccountModels.cs(4, 45): error CS0234: The type or namespace name 'Schema' does not exist in the namespace 'System.ComponentModel.DataAnnotations' (are you missing an assembly reference?) 

App_Start\BundleConfig.cs(9, 44): error CS0246: The type or namespace name 'BundleCollection' could not be found (are you missing a using directive or an assembly reference?) 

我已經安裝asp.net的MVC 4,重新啓動機器,並嘗試了一切,而不運氣好的話。

任何想法?

+1

這些特定的程序集不是ASP.NET MVC 4的一部分,而是單獨的下載(即nuget包)。檢查這些nuget軟件包是否被下拉到構建服務器的源代碼的一部分 –

+1

這是什麼結果?我也有這個問題,打開包恢復功能,僅在TC盒上出現問題。 –

回答

0

有幾件事情我會期待:

  1. 確保您的NuGet包正在構建過程中適當拉低。 Documentation
  2. 確保該項目不是仍然在某處引用舊的MVC 3程序集。也許一個nant/msbuild構建腳本正在複製舊的程序集?
2

對我來說,我的CI服務器(TeamCity)不會通過Web Platform Installer來使用MVC 4。不知道爲什麼。

所以我檢查了TC構建日誌的黃色警告,尋找它試圖解決的參考。

對於每一個,我都會在項目/解決方案中尋找相應的NuGet包並重新安裝它。這將其設置爲包恢復,以便TeamCity/MSBuild在構建期間恢復它。

例如:

Update-Package WebGrease -Reinstall 

的MVC項目模板,儘管它使用的NuGet包,他們沒有有線到整個包恢復由於某些原因的機制,讓他們重新安裝這個勢力。實際上,我想你正在通過它的組件包安裝MVC 4。

Luke

0

我不確定這是否有幫助。但我有同樣的問題。我試圖做的是使用EnableNuGetPackageRestore我試圖恢復它和一些它導致問題的地方(從Test項目而不是MVC項目恢復nuget包。我不知道爲什麼,但如果我發現我肯定會更新線程) 。我所做的是我跟着http://blog.jetbrains.com/teamcity/2013/08/nuget-package-restore-with-teamcity/的博客。再添加一個構建步驟NuGe​​t Installer幫助我解決了問題。 (注意:如果您使用的是內部nuget包服務器,則需要在源中指定相同的服務器)。請讓我知道如果你仍然有問題,我可以得到任何幫助。快樂建築!

+0

我有類似的問題。您需要從項目文件夾訪問bin文件夾並手動刪除它。之後再次構建應用程序(其乾淨的解決方案選項)。之後,您將在本地環境中看到所有相同的錯誤,以便您可以輕鬆修復它們。您還可以確定,您的解決方案的csproj文件可以通過觀察所有引用指向您計算機上存在的目錄來很好地配置(如果您在第一次創建解決方案文件時已更改/重新排序目錄,則可能會發生這種情況) 。 – Matias