我正在寻找一种方法,可以使用命令行脚本而不是在Visual Studio中手动获取解决方案中每个项目(特别是版本)中所有使用过的NuGet包的列表。
使用Package Manager控制台和命令"Get-Package“可以得到我想要的东西,但在VS之外是不可用的。
我使用的是本地NuGet提要。我默认的包管理格式是PackageReference。
任何想法都会有帮助
发布于 2018-11-25 06:20:49
发布于 2018-11-23 03:36:04
我相信有更好的方法可以做到这一点,但在使用PackageReferences时,这里有一个简单的PowerShell方法:
Get-Content .\<solution>.sln | where { $_ -match "Project.+, ""(.+)""," } | foreach { $matches[1] } | % {Get-Content $_ | Find "<PackageReference Include" } | Sort-Object -Unique
在.sln所在的文件夹中运行它。
它会产生如下输出:
我有意删除了重复项;如果您愿意,可以省略这一部分。
在我的例子中,这与Get-Package
的输出相匹配,只有一个例外是Microsoft.NETCore.App
,因为它在任何地方都没有作为依赖项列出,但很可能是从<TargetFramework>netcoreapp2.1</TargetFramework>
派生出来的。
发布于 2020-07-11 02:50:50
在Visual Studio的包管理器控制台中运行此命令Get-Package | Select-Object Id, Version, LicenseUrl, ProjectName
。取自这个答案:https://softwareengineering.stackexchange.com/a/286981
https://stackoverflow.com/questions/53435715
复制相似问题