43

Я только что получил на борту EF 5, и я использую свой первый инструмент миграции кодов, но, похоже, я получаю сообщение об ошибке при попытке включить миграции.Не удается включить миграции для Entity Framework в библиотеке классов

I типа Enable-Migrations в консоли менеджера пакетов, а затем он говорит

Нет классов, вытекающие из DbContext не найдено в текущем проекте.
Отредактируйте сгенерированный класс конфигурации, чтобы указать контекст для включения миграции.
Первый запуск Migrations для проекта MyApp.MvcUI.

Затем он создает папку Migrations и класс Configuration в моем проекте MvcUI. Дело в том, что мой DbContext живет в проекте библиотеки классов под названием MyApp.Domain. Он должен делать все это в этом проекте и не должен иметь проблем с поиском моего DbContext.

ответ

103

О, ничего себе, неважно. Я тупой.

В консоли менеджера пакетов Nuget имеется выпадающее меню в верхней части с надписью «Проект по умолчанию:». Убедитесь, что вы установили это в проект, с которым хотите выполнить команду.

Надеюсь, это поможет кому-то еще избежать моей смущающей ошибки.

+7

мне тоже .. спасибо за подсказку – Smudge202

+4

Не знал, что это было там. Ты жжешь. – ManicBlowfish

+3

Спасибо! Я тоже пропустил это. –

11

Есть на самом деле 3 способа сделать NuGet команды, выполняемые в конкретном проекте:

  1. [Package Manager Console] Установите активный проект в раскрывающемся меню в верхней части консоли ToolWindow
  2. [Package Manager Консоль] Найдите параметр для указания проекта. Для некоторых командлетов, которые я видел -ProjectName и некоторые используют -Project
  3. [Обозреватель решений] Щелкните правой кнопкой мыши нужный проект и используйте окно графического диспетчера пакетов (Управление пакетами NuGet ...).
+0

Я угадываю, что у всех третьего варианта установлена ​​консоль диспетчера пакетов для вас правильно? – Chev