Термин «Обновление-база данных» не распознается как имя командлета. - 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 ]

2 голосов
/ 10 апреля 2019

Для тех, кто использует .Net Core и EntityFrameworkCore:

Для решения этой проблемы вам потребуется установить пакет Microsoft.EntityFrameworkCore.Tools.

Подробнее здесь: https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

2 голосов
/ 16 января 2019

Я решил с помощью удаления и переустановки "Microsoft.EntityFrameworkCore" и "Microsoft.EntityFrameworkCore.Tools"

0 голосов
/ 17 августа 2016

Восстановление пакета NuGet мне не помогло. Поэтому мне пришлось переустановить менеджер пакетов - https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca Может быть, это кому-то помогает

0 голосов
/ 11 марта 2019

В моем случае:

  • Перезагрузка проекта не помогла
  • Перезагрузка VS не помогла
  • Перезагрузка компьютера не помогла
  • ПереустановкаEF не помог

Но я нашел статью , в которой предлагалось вручную импортировать отсутствующий пакет EF, используя PM Conole:

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

И это решение решило мою проблему.

0 голосов
/ 08 марта 2019

У меня возникла та же проблема после того, как я случайно открыл решение Visual Studio в Visual Studio 2015 вместо 2017 года. До этого неудачного прохождения проект работал нормально.Это был старый проект с EF 5.0, а не с EF Core.

Я попробовал все, что предлагалось - перезапускал Visual Studio бесчисленное количество раз, очищал кеш NuGet, удалял все в папке пакетов, переустанавливал EF 5 для проекта - ничего хорошегоАдд-миграция не была распознана.Если я обновил EF до 6, он начал распознавать команды, но я пока не хотел обновляться.Итак, как только я вернулся к EF 5, проблема вернулась.

Единственное, что меня окончательно спасло, это сделать следующее:

  • закрыть Visual Studio
  • удалить все из папки пакетов
  • удалить папку .vs в корне вашего решения.Эта папка обычно скрыта, необходимо включить параметр Показать скрытые файлы и папки или установить флажок Скрытые элементы в папке. Вкладка «Вид»
  • , запустить Visual Studio и открыть свое решение.Он попросит восстановить пакеты NuGet, согласитесь с ним.

Теперь команды EF наконец-то снова заработали.

0 голосов
/ 11 декабря 2018

Простое исправление для меня состояло в том, чтобы убедиться, что между обновлением и базой данных есть черта, например: update-database и использовать строчные буквы. Это может быть случайным, но когда я сделал это в консоли диспетчера пакетов, база данных фактически обновилась, и я получил сообщение о готовности, а не ошибку not recognized as the name of a cmdlet, function, script file.

0 голосов
/ 25 ноября 2014

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

Я удалил и переустановил Nuget, затем перезапустил Visual Studio, после чего все заработало.

0 голосов
/ 16 марта 2018

У меня была эта проблема в Visual Studio 2015, и я решил ее, обновив версию Nuget.

Инструменты -> Расширения и обновления -> Обновления -> Галерея Visual Studio

0 голосов
/ 04 мая 2017

Я решил, обновив Консоль диспетчера пакетов.

Я не получал Update-Database в консоли диспетчера пакетов.Затем я перезагружаю несколько раз.Также перезапустите Windows.

Затем я загружаю новый файл с nuget , и тогда это было решено.

0 голосов
/ 24 апреля 2017

Для меня оказалось, что ядро ​​EntityFramework не было установлено в моем проекте (потому что я начал с пустого проекта). Поэтому установка пакета EntityFramework решила проблему. Иногда, если установка EntityFramework не удалась, попробуйте установить отдельные пакеты один за другим

* 1005 Е.Г. *

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
...