2017-02-22 20 views
13

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

The term 'Add-migration' is not recognized...

ответ

10

Решения, которое работало для меня после попытки целой массы других решений отвечали, было верно нажмите на мой проект => выберите «Управление пакетами Nuget» => выберите вкладку обзора, но установите флажок «Включить предварительную проверку» и установите «Microsoft.EntityFrameworkCore.Tools». N.b, что проект aspnetcore в visual studio 2017, похоже, не имеет файла project.json.

+2

Для тех, кто задается вопросом, как работают пакеты. 'Microsoft.EntityFrameworkCore.Tools' используется для консоли диспетчера пакетов, то есть' Add-Migration' 'Update-Database'. 'Microsoft.EntityFrameworkCore.Tools.DotNet' для командной строки. 'dotnet ef migrations add'. 'Microsoft.EntityFrameworkCore.Tools' принадлежит как' PackageReference' и 'Microsoft.EntityFrameworkCore.Tools' как' DotNetCliToolReference'. –

+0

Это сработало для меня! Благодаря! – SoftSan

+0

Это сработало для меня. – user852415

21

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

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

C:\Users\YourUserAccount\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.1.0-preview4-final\tools\init.ps1

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

+1

Спасибо! Я начал получать эту ошибку из синего. Повторная установка пакетов nuget не решила его. Очень расстраивает. Это фиксировало это. – Ryan

+0

То же самое здесь. На самом деле, для меня это сломалось во второй раз, и во второй раз я пришел сюда и нашел помощь, спасибо! –

0

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

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

DotNet Е.Ф. миграции добавить InitialCreate

обновление базы данных DotNet эф

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

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

Смежные вопросы