dotnet ef add testmigration
を実行した場合
この警告が表示されます:The EF Core tools version '2.1.0-rtm-30799' is older than that of the runtime '2.1.1-rtm-30846'. Update the tools for the latest features and bug fixes.
だから私はcsprojファイルをチェックしました:
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
</ItemGroup>
私には正しいように見えるバージョン2.1.1。そこで、ドキュメントを確認しました here
そして、csprojのツールエントリにはこのパッケージが必要であると提案しています。
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.1.1" />
</ItemGroup>
dotnet restore
は次のように文句を言います:
warning : The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box).
そして、dotnet ef --version
はまだ古いものをリストしています。
したがって、次に行うことは、csproj
のエントリを完全に削除することです。現在はdotnet ef
は引き続き機能しますが、古いバージョンは引き続き提供されます。
だから私はEFのドットネットグローバルツールを何らかの形で更新する必要があると考えました。しかし、「ドットネットツールリスト-g」では結果が得られません。
すべて非常に紛らわしい。
古いバージョンはどこから来たのですか、どのようにそれを削除/更新しますか?
OK。
これは、2番目に最新のSDK(2.1.301)がインストールされているが、パスのどこかでglobal.jsonがバージョン2.1.300に固定されていることが原因であることがわかります。
install-package Microsoft.EntityFrameworkCore.Tools -Version 2.1.8
私のためにやった
私はこの正確な問題を抱えていました。他の人が示唆しているように、binフォルダを削除して再構築しようとしましたが、うまくいきませんでした。最後に、SDKを2.1.403に更新し、問題を解決しました。
このエラーは、次の場所でEntity Framework
プロジェクトではなく別のプロジェクト onPackage Manager Consoleを選択した場合にも表示されます。あなたのソリューション。