ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

找出所有项目引用了哪些 NuGet 包、版本号、对应项目路径,并筛选出“同一个包名但版本不同”的情况。

找出所有项目引用了哪些 NuGet 包、版本号、对应项目路径,并筛选出“同一个包名但版本不同”的情况。

全局扫描所有 .csproj 文件

打开 PowerShell,运行以下脚本(替换为你的代码根目录):

$root = "D:\YourCodeRoot"
$results = Get-ChildItem -Path $root -Recurse -Filter *.csproj | ForEach-Object {$proj = $_.FullName[xml]$xml = Get-Content $proj$xml.Project.ItemGroup.PackageReference | Where-Object { $_ } | ForEach-Object {[PSCustomObject]@{Project = $projPackage = $_.IncludeVersion = $_.Version}}
}

可选 输出所有包引用

$results | Out-GridView  # 可视化查看

筛选“同一个包名但版本不同”的包

$duplicates = $results | Group-Object Package | Where-Object { $_.Group.Version | Select-Object -Unique | Measure-Object | ForEach-Object { $_.Count -gt 1 } }$duplicates | ForEach-Object {Write-Host "📦 包名: $($_.Name)"$_.Group | Format-Table Project, Version
}

输出示例:
image

返回列表