Термин "Add-migration" не распознается - VS2017 и EntityFrameworkCore
Я отправляю этот вопрос на всякий случай, если решение, которое я нашел, поможет кому-то другому. Во время работы в Visual Studio 2017 rc4
каждый раз, когда я пытался запустить команду Add-Migration
в консоли диспетчера пакетов, я получаю следующую ошибку:
Термин Add-migration не распознается...
Ответы
Ответ 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 к зависимостям моего проекта.
- На проекте выберите Управление пакетами Nuget
- Просмотр и поиск Microsoft.EntityFrameworkCore.Tools
- Установите его на свой проект
Затем вы можете открыть консоль диспетчера пакетов и использовать команды: 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
Меня устраивает.
- Закройте все экземпляры VIsual Studio.
- Откройте VS.
- Откройте консоль диспетчера пакетов, пусть она будет инициализирована.
- Теперь откройте проект и попробуйте Add-Migration.