2013-02-21 36 views
54

Ok. Câu hỏi thực sự nhanh chóng, tôi có thể chỉ là dày.Cách tốt nhất để thêm gói NuGet làm tài liệu tham khảo dự án trong VS2012?

Nếu bạn nhấp chuột phải vào thư mục 'tham khảo' của dự án, sau đó 'Quản lý gói NuGet', bạn có thể cài đặt gói và chúng được tự động tham chiếu bởi dự án mà bạn đã nhấp vào. Nhưng sau đó tôi muốn thêm cùng một tham chiếu đến các dự án khác trong cùng một giải pháp. Nếu bạn lặp lại trước đó nhưng bấm vào một dự án khác, tùy chọn duy nhất là gỡ cài đặt gói (vì nó đã được cài đặt), cách thích hợp để thêm gói NuGet hiện có (đã được cài đặt) làm tham chiếu dự án là gì? Tôi có thêm tham chiếu bằng hộp thoại thông thường và 'duyệt' vào dll trong thư mục gói không? Sử dụng một phương pháp để thêm tham chiếu đầu tiên, sau đó một phương pháp khác để tham khảo tiếp theo? Điều đó có vẻ không đúng.

Trả lời

80

Bạn có thể sử dụng Manage NuGet packages for Solution... bởi:

  • nhấp chuột phải vào giải pháp
  • Tools > Library Package Manager > Manage NuGet packages for Solution

Sau đó, bạn có thể chọn trong đó dự án cài đặt gói như trên ảnh chụp màn hình dưới đây: enter image description here Ngoài ra bạn có thể thêm gói đã cài đặt vào một dự án khác trong giải pháp sử dụng cùng một Manage NuGet packages for Solution.... enter image description here

+0

Vì vậy, để cài đặt/gỡ bỏ các gói khỏi hệ thống bạn sử dụng trình đơn ngữ cảnh mức dự án, và thêm/bớt các tham chiếu từ một dự án bạn sử dụng menu ngữ cảnh mức giải pháp. Đúng. Cảm ơn câu trả lời của bạn. Bất kỳ ý tưởng chính xác những gì gây ra một dự án để được kiểm tra trong hộp thoại 'Chọn dự án', tôi có một dự án được kiểm tra nhưng không có một tham chiếu đến gói và khi tôi bỏ kiểm tra nó, nó chỉ trở lại. –

+0

OK: packages.config. –

17

Câu trả lời khác ở đây không giúp tôi. Đây là những gì tôi đã làm, tôi không biết cách nào khác để làm điều đó. Tôi đang sử dụng VS 2013.

  • Tôi đã cài đặt gói trong Bảng điều khiển trình quản lý gói, ví dụ: PM> Install-Package Newtonsoft.Json
  • Trong trình khám phá giải pháp, nhấp chuột phải tham chiếu, chọn Thêm tham chiếu
  • Nhấp vào Duyệt và điều hướng đến dll trong thư mục gói trong thư mục của giải pháp.

Điều này thêm đường dẫn tương đối cho tham chiếu đến dự án, vì vậy nó sẽ hoạt động với những người khác nhận mã từ kiểm soát nguồn vào các thư mục khác nhau.

+1

Có một vấn đề với cách tiếp cận này: khi trong tương lai bạn sẽ muốn cập nhật gói này, Nuget sẽ không tự động xử lý điều này trong dự án của bạn. Kết quả là bạn sẽ kết thúc với các dự án khác nhau tham chiếu các phiên bản khác nhau của cùng một gói. Và điều này sẽ dẫn đến ngoại lệ trong thời gian chạy.Vì vậy, tốt nhất là thêm tài liệu tham khảo thông qua trình quản lý gói Nuget và không theo cách thủ công. – steavy

1

Tôi gặp vấn đề tương tự. Giải pháp được đăng bởi kristianp đã hoạt động như mong đợi, tuy nhiên, có thể hơi phức tạp khi xử lý nhiều gói. Các giải pháp, mà làm việc đối với tôi là chỉ để chỉnh sửa myProjectName.csproj tập tin trong notepad, và chỉ để tham khảo dán sao chép từ một dự án khác như vậy:

... 

<ItemGroup> 
    <Reference Include="Microsoft.AspNet.SignalR.Core"> 
     <HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath> 
    </Reference> 
    <Reference Include="Microsoft.AspNet.SignalR.SystemWeb"> 
     <HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.1.2\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath> 
    </Reference> 

    ... 

Hope this helps một ai đó. Nó giúp tôi tiết kiệm được rất nhiều cú nhấp chuột :)

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