如何在PowerShell中获取NuGet软件包作者?

sgtfey8w  于 2023-03-23  发布在  Shell
关注(0)|答案(1)|浏览(154)

我想获取一个NuGet包的信息。我已经编写了脚本,如下所示:

@( Get-Project -All | ? { $_.ProjectName } | %  {
Get-Package -ProjectName $_.ProjectName } ) | ? { $_.LicenseUrl } | % {
$pkg  = $_ ;

$pkg.Id可访问$pkg.LicenseUrl可访问
但是我不明白当我打印$pkg时,输出包含ID,版本,项目名称。如何访问LicenseUrl。

$pkg.Authors无法访问.我无法从NugetPackages获取autohers的任何脚本。请帮助我。

w46czmvw

w46czmvw1#

您可以查询NuGet API

function Get-PackageAuthors {
    param (
        [Parameter(
            Mandatory = $true,
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true
        )]
        [string]$Id,

        [Uri]$Url = "https://api-v2v3search-0.nuget.org"
    )
    process {
        $response = Invoke-RestMethod "${Url}query?q=${Id}&take=1"
        if ($response.totalHits -gt 0) {
            return $response.data.authors
        }
    }
}

# usage:
Get-Package | Get-PackageAuthors

相关问题