2

我安装了dotnet ef工具,以便为正在使用该命令的 dotnet 核心项目生成迁移。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

我重新安装了 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

我该如何解决这个问题?预先感谢您的帮助

4

1 回答 1

3

我今天在 Azure Pipelines 上遇到了这个问题。修复它的最简单方法是dotnet-ef通过指定所需的确切版本来显式安装。

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

我相信 .NET Core Runtime 版本和dotnet-ef版本必须同步。由于最近发布了一个将 .NET Core Runtime 提升到 .NET Core Runtime 的安全补丁3.1.1,因此存在不匹配,这就是它抱怨的原因。

也就是说,3.1.1在时间允许的情况下更新所有内容可能是明智的。

于 2020-01-17T20:13:53.347 回答