Элемент с тем же ключом уже добавлен ошибка nuget

в настоящее время я создаю пакет nuget с файлом nuspec, но получаю следующую ошибку:

An item with the same key has already been added.

моя команда, которую я использую:

NuGet pack " MyProject.csproj "- o".. Пакеты"

Это мой файл nuspec:

    <?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>$id$</id>
        <version>$version$</version>
        <title>$title$</title>
        <authors>$author$</authors>
        <owners>$author$</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>$description$</description>
        <language>$language$</language>
    </metadata>
    <files>
        <file src="binMyLibrary*.dll" target="libnet45" />
    </files>
</package>

файл nuspec, который я использую, также используется при упаковке других пакетов в той же библиотеке. Может ли это быть причиной возникновения вышеуказанной ошибки? Любой идеи?

2 ответов


возможно, вы добавляете файлы в nuspec, которые также добавляются при вызове пакета .csproj (файлы / библиотеки DLL, на которые ссылается csproj). Если это так, вы можете удалить ссылки на файл из файла nuspec и попробовать. как выглядит ваш файл nuspec?

Я создал его со следующими шагами
1. создать проект "MyLibrary"
2. позвольте мне добавить зависимость, я установил пакет ninject в проект
3. build
4. NuGet для спецификаций папку "MyLibrary".csproj файл
5. сгенерированный файл nuspec, я не добавлял файл или зависимость вручную в файл
6. NuGet для обновления папку "MyLibrary".csproj файл
7. NuGet pack автоматически добавит ninject в качестве зависимости, а также добавит mylibrary.dll в правильную папку
8. http://npe.codeplex.com/ это хороший инструмент, чтобы открыть файл nupkg и посмотреть, что было создано внутри пакета.


У меня была эта ошибка при попытке использовать визуализатор пакетов, и это закончилось тем, что мои пакеты.config имел одно и то же имя пакета в нем несколько раз с разными версиями.