Я слежу за документами , чтобы создать начальную миграцию. Когда я выполняю dotnet
, я получаю раздел помощи, означающий, что PATH работает правильно.
Затем я пытаюсь выполнить команду ниже из документов в окне консоли:
dotnet ef migrations add InitialCreate
Я получаю следующую ошибку:
Could not execute because the specified command or file was not found. Possible reasons for this include: * You misspelled a built-in dotnet command. * You intended to execute a .NET Core program, but dotnet-ef does not exist. * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
- Я исключил первый элемент, так как скопировал команду.
- Второй пункт я исключил, потому что установлен пакет Microsoft.EntityFrameworkCore.SqlServer .
- Я исключил третий пункт, потому что при вызове dotnet я получаю раздел справки .
Я ищу проблему в Google, но, поскольку версия новая, особо нечего делать и / или она тонет в аналогичных проблемах из более ранних версий.
Я попытался принудительно установить Microsoft.EntityFrameworkCore на случай, если его нужно явно добавить. Я столкнулся с сообщением об ошибке, в котором говорилось, что последняя версия для выбора - 2.2.6, и переход на более раннюю версию запрещен. Я не уверен, как установить версию, совместимую с SQL-пакетом, который у меня уже есть в моей системе (и даже менее уверен, что это правильный подход для устранения этой проблемы).
Обнаружено понижение версии пакета: Microsoft.EntityFrameworkCore с 3.0.0-preview6.19304.10 на 2.2.6. Ссылка на пакет прямо из проекта, чтобы выбрать другую версию.
Интернет ->
Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview6.19304.10 ->
Microsoft.EntityFrameworkCore.Relational 3.0.0-preview6.19304.10 ->
Microsoft.EntityFrameworkCore (> = 3.0.0-preview6.19304.10)
Интернет -> Microsoft. EntityFrameworkCore (> = 2.2.6)
источник
РЕДАКТИРОВАТЬ: если вы используете Dockerfile для развертываний, вот шаги, которые необходимо предпринять для решения этой проблемы.
Измените свой Dockerfile, включив в него следующее:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env ENV PATH $PATH:/root/.dotnet/tools RUN dotnet tool install -g dotnet-ef --version 3.1.1
Также измените свои
dotnet ef
команды наdotnet-ef
источник
Устранение проблем с использованием инструмента .NET Core
источник
Запустите PowerShell или командную строку от имени администратора и выполните команду ниже.
источник
У меня такая же проблема. Я решил, удалив все версии на моем компьютере, а затем переустановил dotnet.
источник
если вы используете пакет snap dotnet-sdk в Linux, это можно решить, обновив ~ .bashrc / и т. д. следующим образом:
#!/bin/bash export DOTNET_ROOT=/snap/dotnet-sdk/current export MSBuildSDKsPath=$DOTNET_ROOT/sdk/$(${DOTNET_ROOT}/dotnet --version)/Sdks export PATH="${PATH}:${DOTNET_ROOT}" export PATH="$PATH:$HOME/.dotnet/tools"
источник
Для меня проблема была решена после того, как я закрыл Visual Studio и снова открыл ее
источник
Для всех, кто использует .NET Core CLI на MinGW MSYS. После установки с помощью
dotnet tool install --global dotnet-ef
добавьте эту строку в файл bashrc c: \ msys64 \ home \ username \ .bashrc (расположение зависит от вашей настройки)
источник