使用TFS的托管生成服务器上的nuget软件包文件夹在哪里?

tre*_*orc 5 continuous-deployment azure-devops

我需要从TFS生成过程中作为nuget软件包还原的一部分下载的软件包中执行命令行实用程序。

在我的本地计算机上,该计算机存储在c:\ users \ me.nuget *中

我尝试在TFS上进行的所有排列都没有成功。我也尝试过\ mydir \ packages也没有成功。

最大的问题是,我必须先运行软件包还原步骤,然后才能查看日志中的任何反馈。那是一些缓慢的调试。

有任何想法吗?谢谢你

Pau*_*her 5

使用最新的nuget / msbuild,packages文件夹位于活动用户的配置文件目录下,因此可以使用适当的Powershell命令

Get-ChildItem $(UserProfile)\.nuget\packages 
Run Code Online (Sandbox Code Playgroud)

当前,这在VSTS 2017托管生成代理上评估为C:\ Users \ VssAdministrator \ .nuget \ packages,但是通过使用变量,您可以避免所做的任何更改。


sta*_*SFT 1

Nuget 包缓存文件夹位于 C:\\Users\\buildguest.nuget\\packages 中,但如果您使用托管构建服务器,它将在构建后被清理。\n验证的简单方法:

\n\n
    \n
  1. 添加 NuGet 恢复或 .Net Core Restore 构建步骤来恢复包
  2. \n
  3. 添加 PowerShell 构建步骤以列出 C:\\Users\\buildguest.nuget\\packages 中的文件
  4. \n
\n\n

代码:

\n\n
Get-ChildItem -Path C:\\Users\\buildguest\\.nuget\\packages\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  1. 队列构建并检查 PowerShell 步骤日志(packages\xe2\x80\x99 将在日志中列出)
  2. \n
  3. 删除/禁用 NuGet 还原或 .Net Core Restore 构建步骤 > 保存构建定义
  4. \n
  5. 队列构建
  6. \n
  7. 构建将失败,因为路径不存在。
  8. \n
\n\n

因此,如果 \xe2\x80\x99t 不存在,则需要在构建解决方案/项目之前恢复这些包。您可以将包添加到源代码管理并映射到构建代理,以处理恢复包所需时间过长的问题。

\n