无法使用'dotnet ef ...' - 无法解析指定的框架版本'2.0'

时间:2018-02-03 00:48:57

标签: c# .net entity-framework asp.net-core .net-core

我的项目构建没有任何问题,可以毫无问题地运行,但由于这个奇怪的错误,我无法使用dotnet ef migrations

The specified framework version '2.0' could not be parsed
The specified framework 'Microsoft.NETCore.App', version '2.0' was not found.
  - Check application dependencies and target a framework version installed at:
      /
  - Alternatively, install the framework version '2.0'.

我安装了最新的dotnet工具 - SDK 2.1.4和运行时2.0.5。

任何人都可以帮忙吗? 我试图在网上找到任何解决方案,但没有找到任何有效的工作......

3 个答案:

答案 0 :(得分:25)

我在GitHub上遇到一些问题后终于找到了答案。

看起来这是dotnet CLI本身的问题,而不是EF核心。

如果您遇到此问题,请更新您的.csproj文件以包含运行时框架版本: (在撰写本文时,我已安装2.0.5,但请检查您的版本并使用您计算机上的正确版本。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <RuntimeFrameworkVersion>2.0.5</RuntimeFrameworkVersion>
  </PropertyGroup>

它正确地解决了这个问题。对我来说,如果没有csproj文件中指定的版本,dotnet CLI会尝试回退到2.0.0,由于更新,我们大多数人都没有在计算机上使用。

答案 1 :(得分:6)

也可能有另一个问题。如果缺少Microsoft.EntityFrameworkCore.Design NuGet包,则将出现相同的错误。因此,请确保已从要运行迁移的项目中引用了此NuGet软件包。

答案 2 :(得分:1)

this thread on Github之后,将其添加到.csproj文件为我解决了这个问题:

<PropertyGroup>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>