web-dev-qa-db-ja.com

「dotnet ef ...」を使用できません-指定されたフレームワークバージョン「2.0」を解析できませんでした

プロジェクトは問題なくビルドされ、問題なく実行できますが、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'.

最新のドットネットツール-SDK 2.1.4およびランタイム2.0.5がインストールされています。

誰でもそれを助けることができますか?私はウェブ上で解決策を見つけようとしていましたが、何も機能していませんでした...

17
M U

GitHubでいくつかの問題を調べて、ようやく答えを見つけました。

EFコアではなく、dotnet CLI自体の問題のようです。

この問題に直面している場合は、.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にフォールバックしようとしていますが、アップデートのためにほとんどのコンピューターにはありません。

26
M U

別の問題もあります。 Microsoft.EntityFrameworkCore.Design NuGetパッケージがない場合、同じエラーが発生します。したがって、移行を実行するプロジェクトからこのNuGetパッケージが参照されていることを確認してください。

8

これを.csprojファイルに追加すると、 Githubのこのスレッド に従って解決しました。

<PropertyGroup>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
2
Narvalex