Remove Duplicates From packages.config
$path = "<some path>"
cls
$files = gci -Recurse -Path $path -Include packages.config
foreach($file in $files) {
[xml]$doc = $file | Get-Content
$dups = $doc.packages.package | Group-Object -Property id | Where-Object Count -GT 1 | Select Name, Count
foreach($dup in $dups) {
for($i=1; $i -le $dup.Count -1; $i++) {
$name = $dup.Name
$xpath = "//package[@id='$name']"
$node = $doc.SelectNodes($xpath).Item(1)
$node.ParentNode.RemoveChild($node)
}
}
$doc.Save($file.FullName)
}