【问题标题】:Where is the nuget packages folder located on a hosted build server using TFS?使用 TFS 的托管构建服务器上的 nuget 包文件夹在哪里?
【发布时间】:2017-05-24 09:58:28
【问题描述】:

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

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

我已经在 TFS 上尝试了所有的排列方式,但都没有成功。我也试过 \mydir\packages 也没有成功。

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

有什么想法吗?先谢谢了。

【问题讨论】:

    标签: azure-devops continuous-deployment


    【解决方案1】:

    使用最新的 nuget/msbuild 包文件夹保存在活动用户的配置文件目录下,因此适当的 Powershell 命令是

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

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

    【讨论】:

    • 我可以将它与我的本地 ADS 一起使用。在我将项目切换到 PackageReference 后,不再将包推送到远程仓库。我不得不改用服务器上的本地包缓存。在我的例子中,PS 命令最终是gci -Path $Env:UserProfile\.nuget\packages\squirrel* -Filter Squirrel.exe -Recurse。谢谢!
    【解决方案2】:

    只是对@Paul Hatcher 回答的补充:

    我在 Azure DevOps 构建管道中也遇到了同样的问题,其中找不到特定的包和 nuget 包目录。 这是一个基于.net standard 库的Xamarin.Forms 应用程序,其中不存在packages 文件夹。我后来在构建日志中注意到包被恢复到用户配置文件下的 nuget 文件夹。但是,https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts#agent-variables 上没有记录这种特殊情况。

    这意味着如果您尝试直接从构建管道中引用 nuget 包文件夹,@Paul Hatcher 的回答也是有效的。这个 ($(UserProfile).nuget\packages) 实际上应该是一个(标准)预定义的构建变量。

    【讨论】:

    • 这就是为我解决的问题。我们最近从 packages.config 迁移,出于某种原因,/packages/ 文件夹从 $(System.DefaultWorkingDirectory)\src\packages 移动到了用户配置文件位置。
    【解决方案3】:

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

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

    代码:

    Get-ChildItem -Path C:\Users\buildguest\.nuget\packages
    
    1. 队列构建并检查 PowerShell 步骤日志(程序包将在日志中列出)
    2. 删除/禁用 NuGet 恢复或 .Net Core 恢复构建步骤 > 保存构建定义
    3. 队列构建
    4. 构建将失败,因为路径不存在。

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

    【讨论】:

    • 就是这样!谢谢一堆。附带问题,那条路径是否一致?例如该路径的变量。 $(富)。找不到该位置的。
    • @trevorc 该路径没有内置变量。
    猜你喜欢
    • 2017-07-18
    • 2023-03-20
    • 2014-04-01
    • 1970-01-01
    • 2018-11-13
    • 2015-06-05
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多