2013-08-22 65 views
10
  1. Tạo mới ứng dụng Windows 8 App1
  2. Thêm ClassLibrary1 của Windows dự án thư viện 8 lớp với giải pháp
  3. Thêm PortableClassLibrary1 thư viện lớp cầm tay nhắm mục tiêu Windows 8 và Windows Phone 7.5 đến một giải pháp
  4. Reference HttpClient gói NuGet trong ClassLibrary1
  5. tham khảo gói HttpClient NuGet trong 0.123.
  6. tham khảo cả hai giải pháp ClassLibrary1PortableClassLibrary1
  7. Compile

Bạn nhận được một lỗi ở giai đoạn .appx góiNuGet, thư viện di động và WinRT appx: Payload chứa hai hoặc nhiều file với đường dẫn đến cùng

Payload contains two or more files with the same destination path 'System.Net.Http.Primitives.dll'. 
Source files: 
\Projects\App1\PortableClassLibrary1\bin\Debug\System.Net.Http.Primitives.dll 
\Projects\App1\packages\Microsoft.Net.Http.2.2.13\lib\win8\System.Net.Http.Primitives.dll 

Xin lưu ý các lỗi tương tự được sao chép nếu bạn tham khảo bất kỳ gói NuGet tính năng cả win8 và hỗn hợp di động của hội đồng.

gì được mong đợi: phiên bản cụ thể nhất của một thư viện (win8 một) được đóng gói vào .appx và phiên bản di động bị bỏ qua

Bất kỳ ý tưởng về cách để lừa phụ lục đóng gói và xây dựng loại này của Windows 8 dự án?

Trả lời

2

Thêm vào đó, bạn nên nhận được những cảnh báo tương tự như:

Tất cả các dự án tham khảo ClassLibrary1.csproj phải cài đặt NuGet gói Microsoft.Bcl.Build. Để biết thêm thông tin, hãy xem http://go.microsoft.com/fwlink/?LinkID=317569.

Đây là một vấn đề. Về cơ bản, ngắn gọn của nó, bạn nên cài đặt HttpClient.Compression vào tất cả các dự án. Gói MSBuild/AppX không biết nhị phân nào sẽ triển khai giữa thư viện di động và dự án thư viện lưu trữ (chúng có các phiên bản API & khác nhau). Cài đặt gói vào ứng dụng, nói với nó.

+0

David, cảm ơn bạn! –

9

Dường như các giải pháp mô tả ở đây hoạt động: http://cyanbyfuchsia.wordpress.com/2013/05/03/payload-contains-two-or-more-files-with-the-same-destination-path/

Về cơ bản, bạn phải thiết lập "Sao chép địa phương" false trong dự án WinRT được tham chiếu từ các ứng dụng chính.

+0

Cách tiếp cận mà tôi đã kết thúc là thêm gói NuGet vào ứng dụng chính, sau đó đảm bảo rằng tất cả các thư viện tham chiếu, "Sao chép cục bộ" được đặt thành false trên tham chiếu.Vì vậy, dự án ứng dụng là "tổng thể" bao gồm các tệp đó. Tôi cũng đã có cảnh báo nói với tôi để cài đặt Microsoft.Bcl.Build, nhưng làm điều đó đã không giúp đỡ. – RandomEngy

+0

Tôi đã nhận được lỗi này vì Dự án UnitTesting của tôi cũng có thư mục Tài sản. Vì các bài kiểm tra đơn vị không cần những tài sản này (biểu tượng, biểu tượng, v.v.) Tôi vừa xóa chúng. – WiteCastle

0

Tôi gặp vấn đề như vậy quá. Đó là Tôi đã chia sẻ một trong các giải pháp của tôi giữa các dự án. Tôi đã phải đổi tên giải pháp, bởi vì tên giống như tất cả các dự án. Sau khi đổi tên, tôi có vấn đề này.

tôi cố định nó bằng cách: bấm chuột phải vào giải pháp tôi đổi tên và sử dụng cả hai dự án, sau đó tài sản, sau đó sử dụng cùng một tên trong lắp ráp tên như tên giải pháp.