我正在寻找一种方法,使用命令行脚本而不是在 Visual Studio 中手动获取解决方案(特别是版本)中每个项目中所有使用的 NuGet 包的列表。
使用包管理器控制台和命令“Get-Package”给了我我想要的东西,但它在 VS 之外不可用。
我使用的是本地 NuGet 提要。
我的默认包管理格式是 PackageReference。
任何想法都会有帮助
PackageReference 作为包管理格式仅适用于每个项目。
因此,您需要单独“分析”每个项目。
Update:
在 .NET SDK 版本 2.2.100 及更高版本中,dotnet list package https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-list-package.
旧版本:
从命令行,“将”有一种列出所有包的方法。
这是“dotnet list package”命令。
我说会,因为它仍处于预览阶段。
您可以从以下位置下载 2.2.100 版本here https://github.com/dotnet/cli/tree/release/2.2.1xx。
有关的spec https://github.com/NuGet/Home/wiki/dotnet-list-package.
最简单的用法示例是:
dotnet list YourSln.sln package
如果您不想使用 dotnet.exe 预览,可以考虑通过读取每个项目的资产文件来编写自己的工具,这就是实际命令的作用。
如需参考,请参阅代码here https://github.com/NuGet/NuGet.Client/blob/314a51e00e0741beca7f2e6138afed0cc7191091/src/NuGet.Core/NuGet.ProjectModel/LockFile/LockFile.cs#L25 and here https://github.com/NuGet/NuGet.Client/blob/314a51e00e0741beca7f2e6138afed0cc7191091/src/NuGet.Core/NuGet.ProjectModel/LockFile/LockFileFormat.cs#L71
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)