2013-03-18 131 views
3

我遇到了NuGet問題:它實際上讓我發瘋了! 我正在嘗試爲包含nuget.exe的解決方案進行TFS構建運行。 我沒有從Visual Studio中運行它的任何問題,我的本地工作站上,但是當我在TFS服務器排隊一個新的構建,構建失敗,這些非常已知的錯誤:包含在TFS中的解決方案NuGet構建

d:\ <。 ..SolutionPath ...>。nuget \ nuget.targets(88):默認情況下禁用軟件包恢復。爲了表示同意,打開Visual Studio選項對話框,點擊軟件包管理器節點,然後選中'允許NuGet在構建過程中下載缺失的軟件包'。您也可以通過將環境變量'EnableNuGetPackageRestore'設置爲'true'來表示同意。您可以使用下面的命令:「SolutionPath ...」,「nuget \ nuget.exe」,安裝程序「D:\ < ... SolutionPath ... \ packages.config」-source「」-RequireConsent -solutionDir「D:\ < ... SolutionPath ...>」\「」退出並顯示代碼1.

的問題是:我已經設置了EnableNuGetPackageRestore真正在TFS構建服務器,但它仍然拋出了同樣的錯誤。我也嘗試在相同的TFS服務器上使用相同的參數從一個cmd窗口運行nuget.exe,我沒有任何問題。

順便說一句,這是我NuGet.config的內容:

<configuration> 
    <solution> 
    <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
    <packageRestore> 
    <add key="enabled" value="true" /> 
    </packageRestore> 
</configuration> 

任何想法?

在此先感謝。

回答

2

請檢查您的TFS構建服務帳戶是否與用於進行更改的帳戶相同。同時重新啓動服務器以確保環境變量使其成爲服務。

+0

感謝您的回答。 你的意思是EnableNuGetPackageRestore系統變量? 這對於整個系統來說應該不是共同的,這意味着所有用戶帳戶? – Silvestre 2013-03-18 18:58:52

+1

自更改以來是否重新啓動了服務器?服務控制管理人員長期以來一直沒有刷新服務環境。 – 2013-03-18 19:05:17

+0

好:) 謝謝! – Silvestre 2013-03-18 19:26:38

1
  1. 使用執行構建的相同帳戶登錄到構建服務器。
  2. 打開Visual Studio。
  3. 在Visual Studio中安裝NuGet包管理器。
  4. 重新啓動Visual Studio。
  5. 工具 - >選項 - >軟件包管理器 - >常規:勾選'允許NuGet在構建過程中下載缺失的軟件包'。
  6. 在解決方案中啓用軟件包恢復。
相關問題