Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 获取解决方案中包含特定NuGet包的所有项目_Powershell_Nuget - Fatal编程技术网

Powershell 获取解决方案中包含特定NuGet包的所有项目

Powershell 获取解决方案中包含特定NuGet包的所有项目,powershell,nuget,Powershell,Nuget,我有一个包含多个项目的解决方案。这些项目包含很多NuGet包,我不得不用一个新包将它们替换掉——新包有一个不同的ID。所以我需要一个包管理器控制台脚本来获取所有包含给定包ID的项目 我在SO上发现了其他脚本,例如-但是已经添加了PackageName错误 感谢您的帮助!谢谢我查看了你提到的帖子,并对脚本进行了修改。这个版本适合我: Get-Project -all | foreach-object {get-package -ProjectName $_.Name | ` Add-Member

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

我在SO上发现了其他脚本,例如-但是已经添加了PackageName错误


感谢您的帮助!谢谢

我查看了你提到的帖子,并对脚本进行了修改。这个版本适合我:

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软件包”。然后,您可以单击已安装软件包的管理按钮。它将显示一个带有解决方案树状视图的对话框,通过查看左侧的复选框,您可以轻松地看到该软件包已安装在哪些项目中,并轻松地为多个项目安装/卸载该软件包