web-dev-qa-db-ja.com

EF Coreツールバージョンアップデート2.1.1

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」では結果が得られません。

すべて非常に紛らわしい。

古いバージョンはどこから来たのですか、どのようにそれを削除/更新しますか?

16
Flores

OK。

これは、2番目に最新のSDK(2.1.301)がインストールされているが、パスのどこかでglobal.jsonがバージョン2.1.300に固定されていることが原因であることがわかります。

3
Flores
install-package Microsoft.EntityFrameworkCore.Tools -Version 2.1.8

私のためにやった

1
xaccor

私はこの正確な問題を抱えていました。他の人が示唆しているように、binフォルダを削除して再構築しようとしましたが、うまくいきませんでした。最後に、SDKを2.1.403に更新し、問題を解決しました。

0
db2

このエラーは、次の場所でEntity Frameworkプロジェクトではなく別のプロジェクト onPackage Manager Consoleを選択した場合にも表示されます。あなたのソリューション。

0
Alper Ebicoglu