具有相同键的项目已添加了nuget错误

时间:2012-12-07 00:47:55

标签: nuget nuget-package

我目前正在创建一个带有nuspec文件的nuget包,但收到以下错误:

An item with the same key has already been added.

我使用的命令是:

  

nuget pack“MyProject.csproj”-o“.. \ Packages”

这是我的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="bin\MyLibrary*.dll" target="lib\net45" />
    </files>
</package>

在打包具有相同库的其他包时,也会使用我正在使用的nuspec文件。这可能是上述错误发生的原因吗?有什么想法吗?

1 个答案:

答案 0 :(得分:7)

您可能正在添加nuspec中的文件,当您在.csproj上调用pack时(csproj引用的文件/ dll)也会添加这些文件。如果是这样,您可以从nuspec文件中删除文件引用并尝试一下。 你的nuspec文件怎么样?

我用以下步骤创建了它  1.创建Mylibrary项目
 2.让我添加一个依赖项,我将ninject包安装到项目中  3.建造  4. nuget spec mylibrary.csproj
 5.生成nuspec文件,我没有手动添加任何文件或依赖文件到文件
 6. nuget pack mylibrary.csproj
 7. nuget pack会自动添加ninject作为依赖项,并将mylibrary.dll添加到正确的文件夹中  8. http://npe.codeplex.com/是一个很好的工具,可以打开nupkg文件并查看包中生成的内容。