Powershell 获取解决方案中包含特定NuGet包的所有项目
我有一个包含多个项目的解决方案。这些项目包含很多NuGet包,我不得不用一个新包将它们替换掉——新包有一个不同的ID。所以我需要一个包管理器控制台脚本来获取所有包含给定包ID的项目 我在SO上发现了其他脚本,例如-但是已经添加了PackageName错误Powershell 获取解决方案中包含特定NuGet包的所有项目,powershell,nuget,Powershell,Nuget,我有一个包含多个项目的解决方案。这些项目包含很多NuGet包,我不得不用一个新包将它们替换掉——新包有一个不同的ID。所以我需要一个包管理器控制台脚本来获取所有包含给定包ID的项目 我在SO上发现了其他脚本,例如-但是已经添加了PackageName错误 感谢您的帮助!谢谢我查看了你提到的帖子,并对脚本进行了修改。这个版本适合我: Get-Project -all | foreach-object {get-package -ProjectName $_.Name | ` Add-Member
感谢您的帮助!谢谢我查看了你提到的帖子,并对脚本进行了修改。这个版本适合我:
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软件包”。然后,您可以单击已安装软件包的管理按钮。它将显示一个带有解决方案树状视图的对话框,通过查看左侧的复选框,您可以轻松地看到该软件包已安装在哪些项目中,并轻松地为多个项目安装/卸载该软件包