do tnet ef проблема миграции в Ubuntu 19.10. Do tnet sdk 3.1.1 - PullRequest
1 голос
/ 17 января 2020

Я установил dotnet ef инструмент для генерации миграций для базового проекта do tnet, над которым я работаю с помощью команды. dotnet tool install -g dotnet-ef. Установка прошла успешно. Для нас dotnet ef я установил пакеты nuget ниже

  1. Microsoft.EntityFrameworkCore.SqlServer
  2. Microsoft.EntityFrameworkCore
  3. Microsoft.AspNetCore.Identity.EntityFrameworkCore
  4. 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

Я переустанавливаю do tnet 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 Ответ

1 голос
/ 17 января 2020

Я столкнулся с этим вопросом сегодня на Azure Трубопроводах. Самый простой способ исправить это - явно установить dotnet-ef, указав нужную версию.

dotnet tool install --global dotnet-ef --version 3.1.0

Я считаю, что. NET Core Runtime version и * Версия 1007 * должна быть синхронизирована c. Так как недавно было выпущено исправление безопасности. NET Core Runtime до 3.1.1, существует несоответствие, и поэтому он жалуется. все до 3.1.1, когда позволяет время.

...