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>
この問題を解決するには、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.EntityFrameworkCore.Design
パッケージは Microsoft.AspNetCore.Appメタパッケージ に含まれています。
私のソリューションはさまざまなプロジェクトに分かれています。 EF Coreインストールが存在するClass Libraryプロジェクトを作成しました。
Asp.Net Coreプロジェクトではないため(前述のクラスライブラリです)、Microsoft.EntityFrameworkCore.Design
インストールするパッケージ。
パッケージは次を使用してインストールできます。dotnet add package Microsoft.EntityFrameworkCore.Design
ドキュメントの方向性を教えてくれたIvan Stoevに感謝します。
エラーはまったく役に立ちませんでした。根本的な問題を見つけるために、野生のガチョウの追跡に私を送りました。これが他の誰かに役立つことを願っています。