【问题标题】:Get all Projects in Solution that contain a specific NuGet Package获取解决方案中包含特定 NuGet 包的所有项目
【发布时间】:2015-07-22 10:42:07
【问题描述】:

我有一个包含多个项目的解决方案。这些项目包含很多 NuGet 包,我不得不用新包切换 - 新包具有不同的 ID。所以我需要一个包管理器控制台脚本来获取所有包含给定包 ID 的项目。

我在 SO 上找到了其他脚本,例如 Nuget powershell command - find projects with specific package installed - 但错误提示 PackageName 已添加。

感谢您的任何帮助!谢谢

【问题讨论】:

    标签: powershell nuget


    【解决方案1】:

    我查看了您提到的帖子并使用了脚本。这个版本适合我:

    Get-Project -all | foreach-object {get-package -ProjectName $_.Name | `
    Add-Member -Force -MemberType NoteProperty -Name ProjectName -Value $_.Name -passthru }  | `
    select id, projectname | Where-Object {$_.id -eq "RestSharp"} | `
    Format-Table -auto -GroupBy projectname 
    

    我添加了 -Force 标志作为建议的错误消息,并添加了按包 ID 过滤。您需要替换包的 id 以搜索特定包(在我的示例中为 RestSharp)。

    另外,你可能已经知道了,但我花了一些时间才发现,所以我还是要提一下:

    您可以右键单击解决方案并选择“管理解决方案的 NuGet 包”。然后,您可以单击已安装软件包的“管理”按钮。它将显示一个带有解决方案树视图的对话框,您可以通过查看左侧的复选框轻松查看已安装该软件包的项目,并为多个项目轻松安装/卸载该软件包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多