2011-07-06 43 views
15

Tôi đang cố gỡ cài đặt một số gói được NuGet cài đặt. Theo tài liệu được mô tả here, tôi sẽ thấy một nút Gỡ cài đặt (ảnh chụp màn hình đầu tiên bên dưới) khi tôi chọn gói đã cài đặt. Tuy nhiên, tôi chỉ thấy một nút Quản lý (ảnh chụp màn hình thứ hai bên dưới). Bất cứ ai có thể xin vui lòng cho tôi biết làm thế nào để gỡ bỏ cài đặt các gói?Sự cố khi gỡ cài đặt Gói NuGet

NuGet Doc Screenshot

My Screenshot

Trả lời

12

Cuối cùng, tôi thấy tôi đã phải tự chỉnh sửa các tập tin giải pháp sln và loại bỏ những dòng này:

GlobalSection(ExtensibilityGlobals) = postSolution 
     EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.Interception.2.1.505.0\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Data.5.0.505.0\lib\NET35 
EndGlobalSection 

Sau khi loại bỏ các dòng trên trong file giải pháp, những gói biến mất trong NuGet Packages Window "Cài đặt gói "trang. Chỉ còn lại một gói và bây giờ tôi có thể thấy nút "Gỡ cài đặt".

enter image description here

EDIT: Tôi cũng đã phải xóa thư mục trong thư mục gói giải pháp của tôi.

+1

Trong trường hợp của tôi, không có tài liệu tham khảo trong tệp giải pháp, nhưng việc xóa thư mục gói khỏi thư mục đóng gói đã thực hiện thủ thuật. –

+1

+1 Trong trường hợp của tôi, tôi đã tham khảo trong tập tin giải pháp của tôi, nhưng việc xóa thư mục gói trong thư mục gói sẽ là đủ. – fiberOptics

+0

Bạn có thể làm điều đó bằng cách sử dụng Package Manager Console, như tôi giải thích trong câu trả lời của tôi. Và bạn không thể hoàn toàn chắc chắn rằng bạn đang làm tất cả những gì bạn cần làm. Sử dụng Package Manager Console là an toàn hơn về khía cạnh đó. – JotaBe

13

Nếu bạn di chuyển xuống phần Managing Installed Packages của trang tài liệu NuGet bạn liên kết với bạn sẽ thấy nút và giải thích Manage.

Trong NuGet 1.4 một tính năng mới được giới thiệu cho phép bạn chọn giải pháp trong Solution Explorer và thêm/xóa gói khỏi nhiều dự án trong một bước. Trước đây, bạn phải chọn từng dự án trong Solution Explorer và thêm/gỡ bỏ gói từ mỗi dự án tại một thời điểm.

Nếu bạn nhấp vào nút Quản lý, hộp thoại Chọn dự án sẽ được hiển thị nơi bạn có thể bỏ chọn các dự án mà bạn muốn gỡ cài đặt gói NuGet.

enter image description here

Nếu bạn chọn các dự án thay vì giải pháp trong Solution Explorer bạn có thể thêm/gỡ bỏ các gói từ đó dự án được lựa chọn. Trong trường hợp này, bạn sẽ chỉ thấy các nút Cài đặt và Gỡ cài đặt.

+2

nhưng không xóa gói khỏi giải pháp của tôi. Các gói vẫn được hiển thị trong trang "Gói đã cài đặt" có nút "Quản lý" bên cạnh chúng. Ngoài ra, có một thư mục "gói" trong thư mục giải pháp của tôi. Bạn có biết cách xóa các gói khỏi trang "Gói đã cài đặt" không? Cảm ơn bạn. – StarCub

+1

Các gói chỉ được xóa khỏi giải pháp khi nó không được cài đặt trong bất kỳ dự án nào. Vì vậy, nếu bạn không bỏ kiểm tra mọi thứ, nó vẫn sẽ được cài đặt trong giải pháp. Bạn có thể xem dự án nào có gói gì nếu bạn nhìn vào ngăn chi tiết khi trong hộp thoại cấp độ giải pháp. – davidfowl

0

Tôi gặp sự cố khi xóa mã CTP5 lib đầu tiên có phụ thuộc, gỡ cài đặt không trả lại bất kỳ thư nào và không xóa bất kỳ thư nào. Xóa tài liệu tham khảo từ packages.config mà bạn cần xóa. Sau đó nó sẽ không hiển thị trong nuget nữa và bạn có thể cài đặt lại hoặc tiếp tục mà không cần.

8

Đôi khi có các phụ thuộc không cho phép gỡ cài đặt gói, nhưng bạn vẫn cần làm như vậy (nghĩa là nếu bạn vô tình cài đặt hai phiên bản khác nhau của gói có phụ thuộc).

Khi điều này xảy ra, cách duy nhất để gỡ cài đặt các gói là bắt buộc gỡ cài đặt và điều này chỉ có thể thực hiện được thông qua Bảng điều khiển quản lý gói.

Trước khi chuyển sang Bảng điều khiển, bạn nên mở cửa sổ Quản lý gói NuGet và ghi chú Id và Phiên bản gói của bạn, xuất hiện ở ngăn bên phải khi bạn nhấp vào gói.

Sau đó, bạn có thể đóng cửa sổ Manage, và mở giao diện điều khiển (Package Manager Console), và chạy lệnh này:

uninstall-package -Id YourPackageId -Force -Version YourPackageVersion 

Lưu ý các tham số -force. Ví dụ:

uninstall-package -Id Unity -Force -Version 3.0.1304.0 

Lệnh này cho phép gỡ cài đặt phiên bản 3 khi được cài đặt song song với phiên bản 2, không thể thực hiện được trong cửa sổ Quản lý.

0

Sau khi sử dụng hộp thoại VS IDE Manage NuGet Packages hoặc Package Manager Console, bạn có thể phải xóa thủ công các tệp giải pháp hoặc tệp khác trên hệ thống tệp là một phần của gói không nằm trong thư mục gói.

Tôi đã đánh giá gói Microsoft.AspNet.FriendlyUrls đã thêm trang chính, điều khiển người dùng, tệp mã lớp và tệp packages.config vào dự án/giải pháp ứng dụng web ASP.NET của tôi. Tôi đã thực hiện sai sót để hoàn tác thủ công/xóa các tệp này khỏi giải pháp trước khi sử dụng hộp thoại Gói NuGet để xóa gói. Mọi thứ trở nên bối rối vào thời điểm đó.

Như những người khác đã nói, xóa thư mục gói là giải pháp. Nhưng sau đó tôi đã phải tự tìm ra các tập tin khác bên ngoài thư mục đó cũng nên được xóa.

2

Tôi đã gặp sự cố tương tự gần đây. Dự án của tôi hoạt động tốt nhưng tôi không thể thêm hoặc xóa bất kỳ gói nào thông qua Trình quản lý gói NuGet nữa vì EnterpriseLibrary 5.0.505 được hiển thị là bị thiếu trong nguồn. Nhưng cố gắng khôi phục hoặc xóa nó không thành công với một lỗi "không thể tìm thấy phiên bản '5.0.505. Của gói' EnterpriseLibrary '".

tôi truy tìm này xuống để có tài liệu tham khảo sau đây trong tập tin packages.config:

<package id="EnterpriseLibrary" version="5.0.505" targetFramework="net4" /> 

So sánh điều này với các giải pháp khác mà tôi đã thêm gói gần đây tôi đã thay đổi nó để, sau đây, mà cố định vấn đề:

<package id="EnterpriseLibrary.Common" version="5.0.505.0" targetFramework="net4" /> 

Tôi chưa bao giờ chỉnh sửa bất kỳ tệp package.config nào theo cách thủ công, vì vậy tôi không biết sự không phù hợp xảy ra như thế nào. Có lẽ tham chiếu đã thay đổi kể từ khi ban đầu bao gồm cả gói mà không cập nhật tệp cấu hình ...?

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