如何使用 nuget.exe 命令行获取特定 Visual Studio 解决方案的包列表

Agu*_*all 2 powershell visual-studio nuget

我想在运行 nuget restore 命令后获取我的 Visual Studio 解决方案的包列表。我如何从命令行或 Powershell (outtide Visual Studio) 执行此操作?

Wei*_*SFT 6

您可以运行以下 PowerShell 脚本以列出解决方案中所有已安装的软件包。请修改 $SOLUTIONROOT 作为您的解决方案路径。

#This will be the root folder of all your solutions - we will search all  children of this folder
$SOLUTIONROOT = "D:\Visual Studio 2015 Project\SO Case Sample\PackageSource"

Function ListAllPackages ($BaseDirectory)
{
    Write-Host "Starting Package List - This may take a few minutes ..."
    $PACKAGECONFIGS = Get-ChildItem -Recurse -Force $BaseDirectory -ErrorAction SilentlyContinue | 
        Where-Object { ($_.PSIsContainer -eq $false) -and  ( $_.Name -eq "packages.config")}
    ForEach($PACKAGECONFIG in $PACKAGECONFIGS)
        {
            $path = $PACKAGECONFIG.FullName
            $xml = [xml]$packages = Get-Content $path
                            foreach($package in $packages.packages.package)
                            {
                                 Write-Host $package.id
                             }

        }
}

ListAllPackages $SOLUTIONROOT
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Run Code Online (Sandbox Code Playgroud)