dotnet-consolidate 4.2.0

dotnet tool install --global dotnet-consolidate --version 4.2.0                
此包包含一个 .NET 工具,可以从 shell/命令行调用。
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-consolidate --version 4.2.0                
此包包含一个 .NET 工具,可以从 shell/命令行调用。
#tool dotnet:?package=dotnet-consolidate&version=4.2.0                
nuke :add-package dotnet-consolidate --version 4.2.0                

dotnet consolidate

Build status Quality Gate Status NuGet

用于验证解决方案中的所有 NuGet 包是否已合并的 .NET 核心工具。

开发人员通常认为在同一个解决方案的不同项目中使用同一 NuGet 包的不同版本是不良实践。

https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#consolidate-tab

该工具会找到此类差异。

安装

dotnet tool install dotnet-consolidate --global

使用

传递一个解决方案文件作为参数

dotnet consolidate -s YourSolution.sln

或多个解决方案

dotnet consolidate -s YourSolution.sln AnotherSolution.sln

如果您只想合并单个包,可以可选地指定包 ID

dotnet consolidate -s YourSolution.sln -p PackageId

或要合并多个包而无需合并解决方案项目中引用的所有包的包 ID 列表

dotnet consolidate -s YourSolution.sln -p PackageID1 PackageID2

此外,您还可以设置要跳过的包 ID 列表,以在合并过程中跳过它们

dotnet consolidate -s YourSolution.sln -e ExcludedPackageID1 ExcludedPackageID2

您也可以使用正则表达式在工作合并过程中跳过版本模式

dotnet consolidate -s YourSolution.sln --excludedVersionsRegex .*-alpha$

这样,例如,如果解决方案中的一个项目使用 MyPackage v1.0.0,而另一个项目 MyPackage v1.1.0-alpha,则不会显示任何差异。

如果工具在项目之间找到差异(如果使用 -p,则为指定的项目),则非成功状态代码退出并打印这些差异。

示例

dotnet consolidate -s umbraco.sln

✅ 输出

All packages are consolidated.

dotnet consolidate -s Sentry.sln

❌ 输出

Found 5 non-consolidated packages

----------------------------
Newtonsoft.Json
----------------------------
Sentry - 11.0.2
Sentry - 6.0.8

----------------------------
Microsoft.Extensions.Logging.Configuration
----------------------------
Sentry.Extensions.Logging - 2.1.0
Sentry.Extensions.Logging - 3.0.0

----------------------------
Microsoft.Extensions.DependencyInjection
----------------------------
Sentry.AspNetCore - 2.1.0
Sentry.Extensions.Logging.Tests - 2.1.1
Sentry.Extensions.Logging.Tests - 3.0.0

----------------------------
Microsoft.Extensions.Configuration.Json
----------------------------
Sentry.Extensions.Logging.Tests - 2.1.1
Sentry.Samples.GenericHost - 2.1.1
Sentry.Extensions.Logging.Tests - 3.0.0

----------------------------
Microsoft.AspNetCore.TestHost
----------------------------
Sentry.Testing - 2.1.1
Sentry.Testing - 3.1.0

从本地源测试工具的开发版本

运行以下命令

dotnet build
dotnet pack

该软件包将在 bin/Release 目录下创建。

打开您想要测试此工具的解决方案文件夹,然后执行

dotnet tool install dotnet-consolidate --local --add-source  <full path of bin/Release>
dotnet consolidate -s YourSolution.sln

完成操作后,您还可以将其卸载以清理

dotnet tool uninstall dotnet-consolidate
产品 兼容和额外的计算目标框架版本。
.NET net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
兼容目标框架
包含的目标框架(在软件包中)
了解更多关于目标框架.NET标准的信息。

该软件包没有依赖。

版本 下载 最后更新
4.2.0 64,949 12/13/2023
4.1.0 9,678 11/10/2023
4.0.1 26,842 7/28/2023
4.0.0 1,283 7/27/2023 4.0.0 已弃用,因为它存在严重错误。
3.0.2 75,767 2/24/2023
3.0.1 1,571 2/22/2023
3.0.0 1,225 2/22/2023
2.1.0 34,503 12/11/2022
2.0.0 86,587 8/30/2022
1.2.2 25,821 12/13/2021
1.2.1 52,032 1/4/2021
1.2.0 1,380 12/29/2020
1.1.0 1,543 11/5/2020
1.0.0 3,447 4/5/2020