2017-01-10 36 views
1

我需要從TFS構建過程中作爲nuget包恢復的一部分下載的包中執行命令行實用程序。位於使用TFS的託管構建服務器上的nuget包文件夾在哪裏?

在我的本地計算機存儲在C:\用戶\ me.nuget *

我試過的,每一個排列在TFS沒有成功。我也試過\ mydir \軟件包,但沒有成功。

最大的問題是我必須先運行包恢復步驟才能看到來自日誌的任何反饋。這是一些緩慢的調試。

任何想法?謝謝你。

回答

1

Nuget包緩存文件夾位於C:\ Users \ buildguest.nuget \ packages中,但如果您使用的是Hosted構建服務器,則會在生成後進行清理。 簡單的方法來驗證:

  1. 添加的NuGet恢復或.Net核心恢復構建步驟來恢復包
  2. 添加PowerShell的構建步驟列出在C文件:\用戶\ buildguest.nuget \包

代碼:

Get-ChildItem -Path C:\Users\buildguest\.nuget\packages 
  • 隊列構建和檢查的PowerShell步驟日誌(包將在列出日誌)
  • 刪除/禁用的NuGet恢復或.Net核心還原生成步驟>保存構建定義
  • 隊列建立
  • 構建將失敗,因爲該路徑不存在。
  • 因此,在構建解決方案/項目(如果不存在)之前需要恢復包。您可以將軟件包添加到源代碼管理,並映射到生成代理來處理恢復軟件包所需的時間太長的問題。

    +0

    就是這樣!謝謝一堆。旁邊的問題,那個路徑一致嗎?例如該路徑的變量。 $(美孚)。找不到那個位置。 – trevorc

    +0

    @trevorc該路徑沒有內置變量。 –

    0

    隨着最新的NuGet/MSBuild的包文件夾活躍用戶的配置文件目錄下舉行,所以適當的PowerShell命令是

    Get-ChildItem $(UserProfile)\.nuget\packages 
    

    這目前評估在VSTS 2017年託管生成代理到C:\用戶\ VssAdministrator.nuget \ packages,但通過使用變量,您可以與所做的任何更改隔離。

    相關問題