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

ama*_*eur 7 nuget nuget-package

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

An item with the same key has already been added.
Run Code Online (Sandbox Code Playgroud)

我使用的命令是:

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>
Run Code Online (Sandbox Code Playgroud)

我正在使用的nuspec文件也在使用相同的库打包其他包时使用.这可能是上述错误发生的原因吗?有任何想法吗?

Dee*_*pak 7

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

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