Проблема миграции dotnet ef в Ubuntu 19.10. Dotnet SDK 3.1.1
Я установил dotnet ef
инструмент для генерации миграций для основного проекта dotnet, над которым я работаю, используя команду. dotnet tool install -g dotnet-ef
. Установка прошла успешно. Для того, чтобы намdotnet ef
я установил пакеты nuget ниже
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Tools
При попытке сгенерировать миграции с помощью команды dotnet ef migrations add IdentityandCategory
я получаю результат ниже.
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '3.1.1' was not found.
- The following frameworks were found:
2.1.14 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2.2.8 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
3.1.0 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
- https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.1&arch=x64&rid=ubuntu.19.10-x64
Я переустановил dotnet 3.1.1, но проблема не исчезла. dotnet info
кажется, обнаруживает версию, когда я запускаю donet --info
.NET Core SDK (reflecting any global.json):
Version: 3.1.100
Commit: cd82f021f4
Runtime Environment:
OS Name: ubuntu
OS Version: 19.10
OS Platform: Linux
RID: ubuntu.19.10-x64
Base Path: /usr/share/dotnet/sdk/3.1.100/
Host (useful for support):
Version: 3.1.0
Commit: 157910edee
.NET Core SDKs installed:
2.1.802 [/usr/share/dotnet/sdk]
2.2.402 [/usr/share/dotnet/sdk]
3.1.100 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.14 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.14 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.14 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Как я могу решить эту проблему? Заранее благодарю за вашу помощь
1 ответ
Сегодня я столкнулся с этой проблемой в Azure Pipelines. Самый простой способ исправить это - явно установитьdotnet-ef
указав точную версию, которая вам нужна.
dotnet tool install --global dotnet-ef --version 3.1.0
Я считаю, что версия.NET Core Runtime и dotnet-ef
версия должна быть синхронизирована. Поскольку недавно было выпущено исправление безопасности, которое увеличило время выполнения.NET Core до3.1.1
, есть несоответствие, поэтому он жалуется.
Тем не менее, вероятно, будет разумным просто обновить все до 3.1.1
когда позволяет время.