7

現在、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 ファイルは、同じライブラリで他のパッケージをパッケージ化するときにも使用されます。これが上記のエラーが発生する理由でしょうか? 何か案は?

4

2 に答える 2

7

.csproj で pack を呼び出すときに追加される nuspec にファイルを追加している可能性があります (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 ファイルを開き、パッケージ内で生成されたものを確認します。

于 2012-12-07T07:44:40.483 に答える