全局扫描所有 .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
}
输出示例: