Подтвердить что ты не робот

Термин "Add-migration" не распознается - VS2017 и EntityFrameworkCore

Я отправляю этот вопрос на всякий случай, если решение, которое я нашел, поможет кому-то другому. Во время работы в Visual Studio 2017 rc4 каждый раз, когда я пытался запустить команду Add-Migration в консоли диспетчера пакетов, я получаю следующую ошибку:

Термин Add-migration не распознается...

4b9b3361

Ответ 1

Вам просто нужно инициализировать модуль powershell. Я считаю, что это ошибка, но довольно легко работать. Все, что вам нужно сделать, это найти файл init.ps1 и dot source.

Просто введите это в консоль менеджера пакетов:

C:\Users\YourUserAccount \.nuget\пакеты\Microsoft.EntityFrameworkCore.Tools\1.1.0-preview4-конечные\инструменты\init.ps1

Теперь версия может отличаться для вас, в зависимости от того, какой из них вы установили. Удостоверьтесь, что вы используете точечный источник той же версии, что и в вашем проекте.

Ответ 2

Решение, которое сработало для меня после того, как я попробовал множество других опубликованных решений, заключалось в следующем:

  • щелкните правой кнопкой мыши на моем проекте
  • выберите Manage Nuget Packages
  • выберите вкладку обзора
  • флажок " Include prerelease
  • установить Microsoft.EntityFrameworkCore.Tools

Обратите внимание, что этот проект aspnetcore в visual studio 2017, похоже, не имеет файла project.json.

Ответ 3

Всем привет

Это почти нормальная проблема в Microsoft, и они указывают на одно и то же решение:

Документы Microsoft: начало работы с EF Core на ASP.NET Core с новой базой данных

Для меня выше не решить мою проблему, но эта строка сначала делает:

PM> Install-Package Microsoft.EntityFrameworkCore.Tools
PM> add-migration InitialCreate

/Ура, Ян

Ответ 4

Загрузите последнюю версию .net Core 2.0 по приведенной ниже ссылке, и она исправит вашу проблему: https://www.microsoft.com/net/core#windowscmd

Ответ 5

Я переустановил пакет Microsoft.EntityFrameworkCore.Tools и проблема была исправлена ​​для меня.

Ответ 6

Мне пришлось скопировать папку microsoft.entityframeworkcore.tools из

C:\Program Files\dotnet\sdk\NuGetFallbackFolder

к

C:\Users\<user>\.nuget\packages

Ответ 7

У меня была такая же проблема с проектом, созданным с VS2017 версии 15.9.4 и .Net Core 2.1.

Я исправил это, добавив Microsoft.EntityFrameworkCore.Tools к зависимостям моего проекта.

  1. На проекте выберите Управление пакетами Nuget
  2. Просмотр и поиск Microsoft.EntityFrameworkCore.Tools
  3. Установите его на свой проект

Затем вы можете открыть консоль диспетчера пакетов и использовать команды: Add-Migration Drop-Database Get-DbContext Scaffold-DbContext Script-Migrations Update-Database

С уважением dcube

Ответ 8

Вы должны добавить это в свой файл CSPROJ. Скорее всего, это будет исправлено при выпуске Core 2.0. Это связано с проблемой, когда вы не можете установить этот пакет Microsoft.EntityFrameworkCore.Tools.DotNet, используя инструменты NUGET из-за требований к версии.

Затем, используя CMD/PowerTools в каталоге проекта, вы можете выполнить следующие команды:

dotnet ef migrations добавляет InitialCreate

Обновление базы данных dotnet ef

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
</ItemGroup>

Ответ 9

Меня устраивает.

  1. Закройте все экземпляры VIsual Studio.
  2. Откройте VS.
  3. Откройте консоль диспетчера пакетов, пусть она будет инициализирована.
  4. Теперь откройте проект и попробуйте Add-Migration.