我的项目构建没有任何问题,可以毫无问题地运行,但由于这个奇怪的错误,我无法使用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。
任何人都可以帮忙吗? 我试图在网上找到任何解决方案,但没有找到任何有效的工作......
答案 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>