Обновите инструменты .NET Core

Я пытаюсь использовать EntityFrameworkCore@3.1. Для этого у меня уже есть: - Установленная предварительная версия Visual Studio 2019 - Установлена ​​среда выполнения.NET Core 3.1 - Установлен пакет SDK для.NET Core 3.1

Теперь я все еще не могу запустить команду dotnet ef migrations add xxx. Он говорит, что мне нужно обновить инструменты dotnet. Итак, я запускаю следующую команду в командной строке администратора:

PS C:\WINDOWS\system32> dotnet tool update --global dotnet-ef
Tool 'dotnet-ef' was reinstalled with the latest stable version (version '3.0.0')

Хорошо, не считая предварительных версий. Поэтому я пытаюсь указать версию явно:

PS C:\WINDOWS\system32> dotnet tool update --global dotnet-ef --version="3.1.0-preview1.19506.2"
error NU1202: Package dotnet-ef 3.1.0-preview1.19506.2 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any. Package dotnet-ef 3.1.0-preview1.19506.2 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1)
Tool 'dotnet-ef' failed to update due to the following:
The tool package could not be restored.
Tool 'dotnet-ef' failed to install. This failure may have been caused by:

* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.

For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool

Теперь говорится, что инструмент.NET Core 3.1 несовместим со средой выполнения.NET Core 3.1.

Однако, если я провожу простую проверку версии:

PS C:\WINDOWS\system32> dotnet --version
3.1.100-preview1-014459
PS C:\WINDOWS\system32> dotnet ef --version
Entity Framework Core .NET Command-line Tools
3.0.0

Я вижу, что EntityFrameworkCore.Tools по-прежнему имеет версию 3.0.0 вместо 3.1.0 (какая версия инструментов установлена ​​в моем проекте).

Я все еще что-то упускаю или это ошибка?

3 ответа

Решение

Известная ошибка - https://github.com/dotnet/cli/issues/12963. Однако не дает решения.

Благодаря @ Lars-Хаупт-Hansen указал мне на ошибку, я последовал за след в PR, который показывает, что был присоединен к "САШИ: выпуск /3,1". Последняя версия 3.1 все еще является предварительным просмотром ( предварительный просмотр3) [править: его нет в предварительном просмотре]. Вы можете найти и загрузить последнюю версию SDK здесь.

Чтобы использовать его в проектах Visual Studio, вам необходимо:

  1. установить SDK по указанной выше ссылке;
  2. перейдите в Инструменты> Параметры> Среда> Возможности предварительного просмотра и включите "Использовать предварительные версии пакета SDK.NET Core"; (больше не требуется для 3.1)
  3. перезапустить VS (больше не требуется для 3.1)
  4. Перейдите в свойства каждого проекта, а затем вы можете выбрать Target Framework. .NET Core 3.1

Затем, чтобы установить EF Core через командную строку, запустите dotnet tool install --global dotnet-ef из каталога вашего проекта.

dotnet tool install -g dotnet-ef --version 3.0.0-preview4.19216.3

dotnet tool install --global dotnet-ef --version 3.0.0-preview8.19405.11
Другие вопросы по тегам