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

标签 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 文件也用于使用相同的库打包其他包。这可能是发生上述错误的原因吗?有任何想法吗?

最佳答案

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

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

关于nuget - 已添加具有相同键的项目 nuget 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13755263/

相关文章:

directory - 指定一个目录作为包源

visual-studio-code - 从 VS-Code 添加 NuGet 包时出错

nuget - 添加依赖项时 Octopack 无法构建

.net-core - Nuget 包创建不包括引用的 dll

visual-studio - 在不覆盖现有事件的情况下添加构建后事件

.net - 作者主签名的时间戳发现了一个建链问题 : UntrustedRoot: self signed certificate in certificate chain

nuget - 如何仅使用 CLI 在 NuGet 包中包含标签

silverlight - nuget:仅为特定目标框架指定依赖项

entity-framework - 如何配置 EF 的 DbMigration 不将日期时间添加为生成的迁移文件名的前缀

visual-studio-2015 - Nuget 无缘无故抛出 401 未经授权的错误