2012-07-12 40 views
6

我想讓我的TeamCity服務器從NuGet中取出包,所以我不必將所有程序集都包含在我的存儲庫中。TeamCity和NuGet,缺失引用

最初一切似乎都起作用,但是當MSBuild步驟開始時,所需的程序集/程序包無處可找。

我已經添加了我的包文件夾到我的倉庫,我試圖讓我的項目「啓用NuGet包還原」這裏指出:

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

似乎都不工作。當我查看工作目錄()中的包文件夾時,它是空的,因此沒有包被拾取?

這裏是從的NuGet任務日誌:

[09:11:44][Step 1/2] install: Installing NuGet packages for ApplicationBoilerplate\packages.config 
[09:11:44][install] NuGet command: C:\TeamCity\buildAgent\tools\NuGet.CommandLine.2.0.0.nupkg\tools\NuGet.exe install C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate\packages.config -OutputDirectory C:\TeamCity\buildAgent\work\76a8f67cab97e73b\packages 
[09:11:44][install] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script862718012095619696.cmd 
[09:11:44][install] in directory: C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate 
[09:11:45][install] Process exited with code 0 

如果包文件夾留空(某種臨時存儲的?),還是應包含下載的軟件包?

+0

讓我補充,下載從資源庫中的項目和編譯它在Visual Studio中就像一個魅力一樣,所需的軟件包被下載到軟件包文件夾中。 – 2012-07-12 11:33:23

+0

此命令行是否適用於TeamCity服務器?看看ASP.NET Web Stack項目。他們在默認情況下整合了它:http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/1ccfcdfc11da#.nuget%2fNuGet.targets – 2012-07-25 22:14:53

回答

4

從NuGet 2.0開始,您需要做的不僅僅是文檔頁面描述。這是一個blog about the change

我寫了一個關於啓用使用環境變量包恢復後:Enable NuGet PackageRestore on CC.NET

羅布·雷諾茲創造了一個NuGet包應該自動地解決這個問題,但我還沒有嘗試過呢。

NuGet Enable Package Restore (For Real) 2.0.0

如果您的TeamCity服務器到網絡無法訪問,那麼你可能有這個問題,以及:

NuGet package restore assumes internet access

+0

謝謝你試圖幫助我,我剛剛閱讀了有關更改的帖子,並且我已經允許NuGet自動下載軟件包。我嘗試了你的CC技巧,沒有運氣,並且你鏈接的軟件包在我的設置上失敗(出於某種原因)。 – 2012-07-12 12:44:30

+0

你仍然得到相同的退出碼'0'嗎?服務器是否可以訪問互聯網,互聯網訪問還有另一個問題。 – 2012-07-12 15:38:14

+0

而且整個引導程序thingy已被恢復,如下所示:http://nuget.codeplex.com/workitem/2390。至於包的位置:nuget.exe安裝使用「-o」開關指向安裝文件夾。這就是你的軟件包如果找到的話就會結束的地方。如果未找到,請確保nuget.targets文件(由pkg restore添加)指向您的軟件包源(元素)。 – 2012-07-12 15:51:17