43

Tôi vừa mới tham gia EF 5 và sáng bằng công cụ di chuyển mã đầu tiên nhưng dường như tôi gặp lỗi khi cố gắng cho phép di chuyển.Không thể bật di chuyển cho Khung thực thể trong thư viện lớp

Tôi gõ Enable-Migrations vào quản lý gói giao diện điều khiển và sau đó nó nói

Không lớp học bắt nguồn từ DbContext tìm thấy trong các dự án hiện tại.
Chỉnh sửa lớp Cấu hình được tạo để chỉ định ngữ cảnh cho phép di chuyển.
Đã bật di chuyển mã đầu tiên cho dự án MyApp.MvcUI.

Sau đó, tạo thư mục Di chuyển và lớp Cấu hình trong dự án MvcUI của tôi. Thing là, DbContext của tôi sống trong một dự án thư viện lớp được gọi là MyApp.Domain. Nó nên được làm tất cả những gì trong dự án đó và nên không có vấn đề tìm DbContext của tôi.

Trả lời

103

Oh wow, nevermind. Tôi ngốc thật.

Trong bảng điều khiển trình quản lý gói Nuget, có một trình đơn thả xuống ở trên cùng có nhãn "Dự án mặc định:". Hãy chắc chắn rằng bạn thiết lập cho dự án mà bạn muốn chạy lệnh chống lại.

Hy vọng điều này sẽ giúp người khác tránh nhầm lẫn đáng xấu hổ của tôi.

+7

tôi cũng vậy .. cảm ơn cho mẹo – Smudge202

+4

Không có ý tưởng này đã có. Bạn đá. – ManicBlowfish

+3

Cảm ơn! Tôi cũng nhớ điều này. –

11

Thực tế, có 3 cách để làm cho NuGet lệnh chạy trong một dự án cụ thể:

  1. [Package Manager Console] Đặt dự án hoạt động trong danh sách thả xuống ở phía trên cùng của giao diện điều khiển toolwindow
  2. [Package Manager Console] Tìm một tham số để xác định dự án. Đối với một số lệnh ghép ngắn tôi đã thấy -ProjectName và một số sử dụng -Project
  3. [Solution Explorer] Nhấp chuột phải vào dự án bạn muốn và sử dụng cửa sổ trình quản lý gói đồ họa (Quản lý gói NuGet ...).
+0

Tôi đoán tất cả tùy chọn thứ ba là đặt trình quản lý gói thả xuống cho bạn đúng không? – Chev

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