"Не найден исполняемый файл, соответствующий команде dotnet-ef" ошибка с базой данных EF Core-first
Как вы знаете, новейшая версия Visual Studio 2017 отказывается от проекта.JSON' и использует .
Я использую версию RTM и хочу создать модель из существующей базы данных, следуя данное руководство. Я получил ошибку на последнем шаге:
основные команды Entity Framework для консоли диспетчера пакетов еще не поддерживают проекты .NET Core на основе csproj. Вместо этого используйте средства командной строки .NET (т. е. dotnet ef). Для более подробную информацию см. В разделе https://go.microsoft.com/fwlink/?linkid=834381.
после ошибки я использовал ссылку, которую он упомянул, чтобы переключиться на dotnet ef
. Вот моя команда диспетчера пакетов:
PM> dotnet EF DbContext scaffold " Server=.; Database=Jumpstart; Trusted_Connection=True; " Microsoft.EntityFrameworkCore.От SQLServer
затем снова появляется ошибка:
dotnet ограничителя : не найден исполняемый соответствия команда "dotnet-ef"
я использовал команду help, я обнаружил, что dotnet не имеет команды с именем ef.
Я просто хочу создать модель из существующей базы данных.
5 ответов
следуйте этому руководству
https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations
У меня была та же проблема. Просто отредактировал раздел ItemGroup в .csproj файл такой
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
</ItemGroup>
принятый ответ является наиболее вероятной причиной сообщения об ошибке. Однако, помимо добавления правильной ссылки в и убедитесь, что текущий каталог от Package Manager Console
указывает на ASP.NET основной проект, иначе dotnet ef
команда завершится с ошибкой, указанной в заголовке OP.
моя проблема была решена путем изменения tools
в:
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final"
},
затем выполните эти 2 команды:
-
dotnet restore
- для восстановления пакетов - dotnet ограничителя миграции EF
на NetCore 2.0 вам просто нужно запустить Add-Migrations
.
он попросит имя, и это все. Просто убедитесь, что у вас есть строка подключения по умолчанию параметр appsettings.в JSON
я решил проблему
во всем ответе упоминается добавление инструментов DotNet, но не решена моя проблема, потому что пропустил некоторые команды я упоминаю ниже
инструменты командной строки EF Core .NET устанавливаются путем ручного редактирования *.файл csproj.
Добавить Microsoft.EntityFrameworkCore.Инструменты.DotNet как DotNetCliToolReference. См. пример проекта ниже.
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
</ItemGroup>
для core версии 2 изменена версия но после этого следует запустить 2 команды слишком!--4-->
затем importatn часть во всем ответе отсутствует (эта команда решила мою проблему в visuall studio 2017)
1 - выполнить dotnet add package Microsoft.EntityFrameworkCore.Design
2 - Выполнить dotnet restore
. Если восстановление не удалось, инструменты могут быть установлены неправильно.
больше информации https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet