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

The specified framework 'Microsoft.NETCore.App', version '2.1' was not found

我正在使用 dotNet Core 2.1 开发 Angular 6 应用程序。 在我开始设置 EFCore 之前,一切都运行良好。 我所有的模型都已定义并创建了上下文。 运行 dotnet ef migrations add InitialCreate 给我 "The specified framework 'Microsoft.NETCore.App', version '2.1' was not found" 错误。

我已经搜索并阅读了我能找到的所有在不同版本的 dotNet Core 中出现此错误的帖子。没有任何方法可以为我解决这个问题。

我安装了各种版本的 dotNet 核心应用程序。 查看 "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>

为了解决这个问题,我必须安装 Microsoft.EntityFrameworkCore.Design 包。文档的 installing-the-tools 部分声明对于 Asp.Net Core 2.1+ 没有必要这样做:

ASP.NET Core 2.1+

  • Install the current .NET Core SDK. The SDK has to be installed even if you have the latest version of Visual Studio 2017.
    This is all that is needed for ASP.NET Core 2.1+ because the Microsoft.EntityFrameworkCore.Design package is included in the Microsoft.AspNetCore.App metapackage.

我的解决方案分为不同的项目;我创建了一个 Class Library 项目,我的 EF Core 安装所在。

因为它不是 Asp.Net 核心项目(如前所述,它是一个 Class 库),它还需要安装 Microsoft.EntityFrameworkCore.Design 包。

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

感谢 Ivan Stoev 为我指明文档方向。
这个错误根本没有帮助,让我开始了疯狂的追逐,试图找到潜在的问题。我希望这对其他人有用。

我在 运行

时遇到同样的问题
dotnet ef dbcontext info -s ProjectWeb.csproj

虽然它正在查找的版本是 2.1.17:

The framework 'Microsoft.NETCore.App', version '2.1.17' was not found.

幸运的是,在深入研究这个问题后,有人建议在此处下载它:

https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=2.1.17&arch=x64&rid=win10-x64

这会将您重定向到此 link:

https://dotnet.microsoft.com/download/dotnet-core/2.1/runtime/?utm_source=getdotnetcore&utm_medium=referral

安装后,我这边的问题已经解决了。

请同时检查您的 BundlerMinifier:

   <ItemGroup>
       <DotNetCliToolReference Include="BundlerMinifier.Core" Version="3.2.449" />
   </ItemGroup>

如果您使用的是旧版本,那可能是罪魁祸首...请在此处查看最新版本: https://www.nuget.org/packages/BundlerMinifier.Core/