首页 > 解决方案 > NuGet 包浏览:如何查看按下载次数排序的包(降序)

问题描述

语境

我经常在 VS 2017 中使用 NuGet 包 UI,并过滤关键字,例如“基准”。然后我的下一步是按下载次数对结果列表进行降序排序,但不幸的是这是不可能的。(这将是一个很棒的生产力工具)

问题

什么是最无缝的方式来找到一个选择一个包,快速选择一个下载次数最多的包,然后添加到我的解决方案或项目中?

标签: visual-studionuget

解决方案


我将这个小 PowerShell 脚本保存在我的桌面上。它不会向您的项目添加任何内容,但它是一种快速搜索和按下载排序的方法。

param (
    [Parameter(Mandatory=$true, Position=0)]
    [string]
    $query
)

$RawPkgs = Find-Package $query -ProviderName NuGet -Source nuget.org
Write-Output "Found $($RawPkgs.Count) results"
$PkgList = @()

foreach($pkg in $RawPkgs) {
    $data = [PSCustomObject]@{
        Name = $pkg.Name
        Summary = $pkg.Summary
        Downloads = [int]$pkg.Meta.Attributes['downloadCount']
    }
    $PkgList += $data
}

$PkgList | Sort-Object { $_.Downloads } -Descending | Format-Table Name, Downloads, Summary -AutoSize

推荐阅读