Термин «Обновление-база данных» не распознается как имя командлета. - PullRequest
97 голосов
/ 13 марта 2012

Я использую EF5 beta1 и, хотя раньше мне удавалось запускать «Update-Database».Теперь, когда я закрыл Visual Studio, я не могу заставить его работать.Я получаю следующую ошибку:

Термин «База данных обновления» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 1 символ: 16 + Update-Database <<<< -verbose + CategoryInfo: ObjectNotFound: (Update-Database: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException </p>

Я пыталсяпереустановите EF5b1, и пока он был успешным (уже установлен), «Обновление базы данных» все еще не работает.

Может кто-нибудь помочь ???

Ответы [ 23 ]

160 голосов
/ 14 мая 2012

У меня была эта проблема несколько раз в последнее время.Я нашел решение, которое работало, чтобы закрыть консоль диспетчера пакетов, закрыть Visual Studio, а затем снова открыть их.Перезагрузка также работала большую часть времени, но не всегда.

50 голосов
/ 13 марта 2015

Если вы используете Entity Framework:

Сообщение об ошибке: «Сообщение об ошибке (из команды Update-Database в PMC): термин« Update-База данных "не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если указан путь, убедитесь, что путь указан правильно, и повторите попытку."

Решение: "Выйдите из Visual Studio. Откройте проект и попробуйте снова."

Для получения дополнительной информации посетите веб-сайт: AdvancedСценарии Entity Framework 6 для веб-приложения MVC 5 (12 из 12)

Надеюсь, это поможет ...

20 голосов
/ 27 августа 2014

Иногда, когда я загружаю VS, я вижу это в консоли диспетчера пакетов:

Значение не может быть нулевым.

Имя параметра: путь1

Я пока не знаю, что является причиной этого, но кажется, что во время запуска консоли Powershell что-то идет не так, что прерывает регистрацию определенных модулей, таких как расширения EF powershell. Вы можете просто загрузить его вручную:

Import-Module .\packages\EntityFramework.6.1.1\tools\EntityFramework.psm1

Убедитесь, что вы заменили 6.1.1 на вашу текущую версию Entity Framework.

16 голосов
/ 21 января 2014

Переустановка пакета nuget устранила эту проблему для меня

, т. Е. Выполните

Install-Package EntityFramework -Version 5.0.0

в диспетчере пакетов

8 голосов
/ 07 июня 2017

Просто перезапустите Visual Studio, это решит проблему. У меня работает.

7 голосов
/ 25 марта 2016

вы получите эту ошибку, если инструменты EF установлены неправильно.

попробуйте следующую команду в диспетчере пакетов Nuget // Удаляем и устанавливаем ту же версию EF

Update-Package "EntityFramework" -reinstall

Если вы все еще сталкиваетесь с той же проблемой. создайте новый веб-проект и выполните приведенную ниже команду в nuget.

(Примечание: нет необходимости создавать новый проект в том же решении или то же место.)

// Это обновит EF до последней версии (включая инструменты) // если вы хотите использовать конкретную версию, используйте флаг -version.

Update-Package "EntityFramework"

Как только это будет сделано, проверьте исходный проект и удалите только что созданный проект.

4 голосов
/ 11 мая 2015

Для меня проблема была Nuget версия .

  1. удалить диспетчер пакетов Nuget.
  2. перезапустите Visual Studio.
  3. установлена ​​новая версия диспетчера пакетов Nuget.
  4. затем снова запустите Visual Studio.
4 голосов
/ 02 августа 2014

Just ReOpen visual studio - это работа для меня

4 голосов
/ 17 сентября 2012

У меня была такая же проблема, и ее происхождение было по моему пути, у меня на пути было имя каталога с прямыми скобками, например: C:\[PROJ]\TestApp.

Когда я снимал скобки, до C:\PROJ\TestApp, он начал работать просто отлично ...

2 голосов
/ 30 августа 2013

Эта проблема возникает, когда вы открываете проект прямо из проводника.Попробуйте сначала запустить VS, а затем открыть проект - у меня получилось.Я предполагаю, что речь идет о доступе к путям.

...