2012-12-07 25 views
6

Tôi hiện đang tạo ra một gói NuGet với một tập tin nuspec nhưng nhận được lỗi sau:Một mục với cùng một chìa khóa đã được thêm lỗi NuGet

An item with the same key has already been added. 

lệnh của tôi Tôi đang sử dụng là:

nuget pack "MyProject.csproj" -o "..\Packages"

Đây là tập tin nuspec tôi:

<?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> 

File nuspec tôi đang sử dụng cũng được sử dụng khi đóng gói các gói khác withing sự cùng một thư viện. Đây có phải là lý do tại sao lỗi trên xảy ra không? Bất kỳ ý tưởng?

Trả lời

6

Có thể bạn đang thêm tệp vào nuspec cũng được thêm khi bạn gọi gói trên tệp .csproj (tệp/dll được tham chiếu bởi csproj). Nếu vậy bạn có thể loại bỏ các tham chiếu tập tin từ tập tin nuspec và thử nó. tệp nuspec của bạn trông như thế nào?

tôi tạo ra nó với các bước sau
1. tạo ra các dự án Mylibrary
2. cho tôi thêm một sự phụ thuộc, tôi cài đặt Ninject gói cho dự án
3. build
4. NuGet đặc tả mylibrary.csproj
5. Tệp nuspec được tạo, tôi không thêm bất kỳ tệp hoặc phụ thuộc nào theo cách thủ công vào tệp
6. gói nuget mylibrary.csproj
7. gói nuget sẽ tự động thêm ninject làm phụ thuộc và cũng thêm mylibrary.dll vào đúng thư mục
8. http://npe.codeplex.com/ là một công cụ tốt để mở tệp nupkg và xem những gì đã được tạo bên trong gói.

+0

Tôi đã thêm tệp nuspec ngay bây giờ vào câu hỏi của mình. Có những gì bạn vạch ra là chính xác. Tuy nhiên nếu tôi loại bỏ các tài liệu tham khảo tập tin từ tập tin nuspec của tôi, họ sẽ không được cài đặt trong dự án tiêu thụ. Họ sẽ? – amateur

+0

đã cập nhật nội tuyến câu trả lời, nếu nó giúp. – Deepak

3

Tôi đã gặp lỗi này khi cố gắng sử dụng trình hiển thị gói và kết thúc là package.config của tôi có cùng tên gói trong đó nhiều lần với các phiên bản khác nhau.

+1

Vậy đề xuất của bạn là gì? Bạn có thể giải thích chi tiết không? – VicJordan

+1

@VicJordan: Tôi giả sử anh ấy đã xóa bản sao. – kkm

Các vấn đề liên quan