2017-08-15 77 views
0

我在這裏結束了。我嘗試了一切,我可以找到讓NuGet恢復我的包在TFS構建服務器和沒有似乎工作。 (我檢查的最新變化是here)。我已閱讀了很多關於構建過程模板的較舊版本的問題,因此我只是將構建更改爲使用TfvcTemplate.12.xaml,並且仍然沒有包被恢復。 (以上來自鏈接)這一最新的變化讓我刪除NuGet.targets文件,現在我得到一個錯誤說:NuGet自動包恢復在我的構建服務器上不適用於我

This project references NuGet package(s) that are missing on this computer. 
Enable NuGet Package Restore to download them. For more information, see 
http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is 
:\Builds\TFS\WebApps\src\WebApps\Main\Src\\.nuget\NuGet.targets. 

任何幫助將在這裏非常感激!

回答

0

由於您已經嘗試過很多基於谷歌的解決方案。這可能會讓你的環境變得複雜和令人困惑。

首先有兩種方法做的NuGet恢復的MSBuild集成恢復自動在Visual Studio恢復。有完全不同的東西。

使用NuGet 2.7及更高版本,Visual Studio在構建開始時會自動恢復缺失的 程序包。

由於您使用的是NuGet 3.4,建議您使用自動恢復。

您只能選擇一種方式來執行還原操作。根據你的錯誤信息找不到NuGet.targets,也許你還沒有完成Migrating to automatic restore這一步。請重新做一遍或重複檢查一下。

你也可以測試遷移,請執行以下操作:

  • 從溶液中取出包文件夾
  • 在Visual Studio中打開解決方案並開始構建。
  • 自動恢復應下載並安裝每個依賴項 包,而不將它們添加到源代碼管理。

不要將$(SolutionDir).nuget\nuget.exe restore -SolutionDirectory ..\添加到構建順序中的第一個項目上的預構建事件。這是執行恢復的舊方法。就像描述here的方式一樣。

Nuget Restore.exe已添加到2013(v12)模板中。由於您使用的是TfvcTemplate.12.xaml,因此不必再次添加。

非常懷疑你是在混淆這兩種方式導致你目前的困境。建議您遵循自動恢復過程,使用乾淨的環境,完成遷移到自動恢復步驟,在本地測試遷移,確保源代碼管理中.nuget文件夾中的NuGet.exe和NuGet.targets文件被刪除,檢查未決更改,檢查帶有Nuget Restore功能的TfvcTemplate.12.xaml流程模板。使用舊設置創建新的構建定義並使用該模板。最後觸發建立...

相關問題