简体   繁体   中英

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

I am developing an Angular 6 application in dotNet Core 2.1. Everything is working flawlessly, until I got to setting up EFCore. All my models are defined and context created. Running dotnet ef migrations add InitialCreate gives me the "The specified framework 'Microsoft.NETCore.App', version '2.1' was not found" error.

I have searched and read all the posts I could find that has this error across various versions of dotNet Core. Nothing is working to resolve this issue for me.

I have various versions of dotNet Core App installed. Looking at "C:\\Program Files\\dotnet\\shared\\Microsoft.NETCore.App" I have the following:

-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" appears as the first path in my System PATH variable.

Downgrading all the projects in my solution to dotNet Core 2.0, running the command results in exactly the same error, referring to version 2.0.

Any advise would be greatly appreciated...

The csproj file for my EF project is as follows:

<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>

To solve the issue, I had to install the Microsoft.EntityFrameworkCore.Design package. The installing-the-tools section of the documentation states that it is not necessary to do so for 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 .

My solution is broken up into different projects; I created a Class Library project where my EF Core installation resides.

Since it is not an Asp.Net Core project (It's a Class Library as stated before), it also required the Microsoft.EntityFrameworkCore.Design package to be installed.

The package can be installed using: dotnet add package Microsoft.EntityFrameworkCore.Design

Thanks to Ivan Stoev for pointing me in the direction of the documentation.
The error was no help at all, sending me on a wild goose chase to try and find the underlying problem. I hope this will be useful to someone else.

I have the same issue when running

dotnet ef dbcontext info -s ProjectWeb.csproj

Although the version it is looking is 2.1.17:

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

Fortunately, upon digging into the issue, there was a suggestion to download it here:

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

Which will redirect you to this link:

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

After installation, the issue was fixed on my side.

Please also check your BundlerMinifier :

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

If you are using an older version, that is likely the culprit... see latest versions here: https://www.nuget.org/packages/BundlerMinifier.Core/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM