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

时间:2018-11-18 10:09:49

标签: c# ef-core-2.1 .net-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>

3 个答案:

答案 0 :(得分:4)

要解决此问题,我必须安装Microsoft.EntityFrameworkCore.Design软件包。文档的installing-the-tools部分指出,对于Asp.Net Core 2.1+,没有必要这样做:

  

ASP.NET Core 2.1+

     
      
  • 安装当前的.NET Core SDK。即使您具有最新版本的Visual Studio 2017,也必须安装SDK。
      这是ASP.NET Core 2.1+所需的全部,因为Microsoft.AspNetCore.App metapackage中包含Microsoft.EntityFrameworkCore.Design包。
  •   

我的解决方案分为多个项目;我创建了一个安装了EF Core的 Class Library 项目。

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

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

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

答案 1 :(得分:0)

运行时我遇到相同的问题

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

这会将您重定向到此链接:

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

安装后,该问题已解决。

答案 2 :(得分:0)

另请检查您的BundlerMinifier

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

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