在我的项目中,我正在使用类库。现在,我将该类库设置为NuGet程序包,删除该类库,并在尝试安装该程序包时出现此错误:“已经添加了具有相同键的项”?
最佳答案
就我而言,当我的packages.config文件包含不允许的重复包ID时,我看到了此错误。
您可以使用下面的PowerShell脚本在解决方案中查找所有重复的软件包。它以递归方式找到所有packages.config文件,并且每个packages.config文件都检查重复的程序包ID。
$solutionFolder = "C:\MySolution"
$nugetPackageFile = "packages.config"
$files = Get-ChildItem -Path $solutionFolder -Filter $nugetPackageFile -Recurse
foreach ($file in $files)
{
[xml]$xml = Get-Content $file.FullName
$nodes = Select-Xml "/packages/package/@id" $xml
$packageIds = @{}
foreach ($node in $nodes) {
$packageId = $node.Node.'#text'
try
{
$packageIds.Add($packageId, $packageId)
}
Catch [System.ArgumentException]
{
Write-Host "Found duplicate package in " $file.FullName ". Duplicate package: $packageId"
}
}
}
关于nuget - 安装NuGet软件包时已添加了具有相同 key 的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31406071/