2016-04-29 21 views
10

Tôi đã chiến đấu với lỗi này trong vài giờ và không thể đưa ra giải pháp hoạt động.Gói Nuget ... không tồn tại trong dự án ... Gói ... Đã tồn tại trong thư mục

Tôi có API ASP.Net trong một giải pháp đa dự án có tham chiếu/phụ thuộc của nó được định cấu hình không chính xác và tôi đã cố khắc phục trong hai ngày.

Vấn đề là (Tôi tin rằng) rằng API bị thiếu System.Web.Http/System.Web.Http.WebHost dường như được bao gồm trong Microsoft.AspNet.WebApi.Core (cho nhiều câu hỏi về Stack Overflow khác). Khi cố gắng cài đặt nó thông qua Nuget tôi nhận được lỗi sau khi cố gắng giải quyết sự phụ thuộc. Hơn nữa tôi đã nhận lỗi này mỗi lần (xem xử lý sự cố của tôi sau này trong câu hỏi này):

Screenshot of Package Manager Console

tôi đã thực hiện các bước sau đây không theo thứ tự đặc biệt (nhiều lần mỗi trong các kết hợp khác nhau):

  • Run 'cập nhật gói Microsoft.AspNet.WebApi.Core -reinstall'
  • xóa "gói" giải pháp toàn thư mục và xóa packages.config của dự án và cố gắng khôi phục gói
  • D xóa toàn bộ dự án khỏi ổ đĩa vật lý và TFS, và tạo lại nó từ đầu (nó tạo ra các tham chiếu không chính xác)
  • Cài đặt gói thông qua cả dòng lệnh và Nuget GUI
  • Kiểm tra giải pháp cho các vị trí khác nhau trên ổ cứng trong một nỗ lực để bắt đầu càng tươi càng tốt
  • khởi động lại máy tính của tôi/khởi động lại Visual Studio

tại thời điểm này tôi tốt với một sửa chữa không sạch, miễn là nó sửa chữa nó. API đã làm việc tại một thời điểm, nhưng sau đó tôi đã kiểm tra nó vào TFS, tạo ra một nhánh, và bây giờ đang làm việc trên nhánh. Có thể một số phụ thuộc không được bao gồm (?) Nhưng ngay cả khi đây là trường hợp có vẻ như các bước tôi đã thực hiện nên giải quyết vấn đề.

+1

Thư mục 'Gói' có được đăng ký trong TFS không? – vendettamit

+2

bạn đã thử chạy 'update-package -reinstall' chưa? lệnh này sẽ cài đặt lại tất cả các gói trong tất cả các dự án – nazarevic

+0

@vendettamit. Tôi cho rằng tôi chưa thử xóa nó từ TFS, nhưng bây giờ tôi chỉ cố gắng làm cho nó hoạt động cục bộ.Bạn có nghĩ rằng nó là công đức để thử xóa nó từ TFS? –

Trả lời

4

Đóng giải pháp sau đó chuyển đến thư mục gói trên ổ cứng của bạn và xóa tất cả nội dung của nó. Mở lại ứng dụng của bạn trong Visual Studio và nó sẽ tự động cố gắng khôi phục các gói. Làm sạch giải pháp và xây dựng nó.

0

Đầu tiên, gỡ bỏ cài đặt thông qua quản lý gói an ủi các NuGet gói cụ thể

Sau đó, xin vui lòng dỡ bỏ các dự án mà gói nugget này được tham chiếu cho bằng click chuột phải -> Dự án Unload.

Sau khi click chuột phải dỡ vào dự án và chọn "Edit {Project Name} csproj"

Tìm các entry gói NuGet trong XML nơi mà trước đây bạn gỡ cài đặt và xóa nó.

Cài đặt lại gói từ bảng điều khiển của trình quản lý gói ...

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