找不到指定的框架'Microsoft.NETCore.App'版本'2.1'

WJK*_*WJK 6 c# .net-core-2.1 ef-core-2.1

我正在dotNet Core 2.1中开发Angular 6应用程序。一切正常,直到我必须设置EFCore。我所有的模型都已定义并创建了上下文。运行dotnet ef migrations add InitialCreate给我“找不到指定的框架'Microsoft.NETCore.App',版本'2.1'”错误。

我搜索并阅读了所有发现的帖子,发现在各个版本的dotNet Core中都存在此错误。没有任何事情可以为我解决这个问题。

我安装了各种版本的dotNet Core App。查看“ C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App”,我具有以下内容:

-1.0.4
-1.0.5
-1.1.1
-1.1.2
-2.0.0
-2.0.3
-2.0.5
-2.0.6
-2.0.7
-2.0.9
-2.1.0
-2.1.4
-2.1 .5
-2.1.6

“ C:\ Program Files \ dotnet”显示为系统PATH变量中的第一个路径。

将我的解决方案中的所有项目降级到dotNet Core 2.0,运行该命令会导致完全相同的错误,这是指2.0版。

任何建议将不胜感激...

我的EF项目的csproj文件如下:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\*********.Contracts\*********.Contracts.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="System">
      <HintPath>System</HintPath>
    </Reference>
    <Reference Include="System.Data">
      <HintPath>System.Data</HintPath>
    </Reference>
    <Reference Include="System.Xml">
      <HintPath>System.Xml</HintPath>
    </Reference>
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

WJK*_*WJK 6

为了解决该问题,我必须安装该Microsoft.EntityFrameworkCore.Design软件包。文档的“ 安装工具”部分指出,对于Asp.Net Core 2.1+,没有必要这样做:

ASP.NET Core 2.1以上

我的解决方案分为多个项目;我在EF Core安装所在的位置创建了一个类库项目。

由于它不是Asp.Net Core项目(如前所述,它是类库),因此还需要Microsoft.EntityFrameworkCore.Design安装软件包。

可以使用以下方法安装该软件包: dotnet add package Microsoft.EntityFrameworkCore.Design

感谢Ivan Stoev向我指出文档的方向。
该错误根本没有帮助,使我陷入了困境,试图找出潜在的问题。我希望这对其他人有用。