質問: NetFramework 4.8プロジェクトでNuGetを使用してEFCore参照をバージョン3に更新するたびに、このエラーが発生します。 マシンにnetcore 3.0 SDKがインストールされていることを確認します。 ![Visual Studioエラー](https://i.stack.imgur.com/Y4zEl.png) ``` Could not install package 'Microsoft.EntityFrameworkCore 3.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.8', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. ```
回答: これは、EF Core 3.0の大きな重大な変更です。しかし、EF Core 3.1で修正されました。 > 3.0以降、EF Coreは.NET Standard 2.1を対象としており、この標準をサポートするすべてのプラットフォームで実行されます。これには.NET Frameworkは含まれません。 > > EF Core 3.0に含まれる重大な変更 そして、これはこの変更に関する多くの背景を持つ追跡の問題です: Target .NET Standard 2.1 また、.NET Frameworkの将来のバージョンでは、.NET Standard 2.1をサポートする予定はありません。例を参照してください: > .NET Standard 2.1の多くのAPIを追加するには、実行時の変更が必要であるため、.NET Framework 4.8は、.NET Standard 2.1を実装するのではなく、.NET Standard 2.0にとどまります。 .NET Core 3.0およびXamarin、Mono、Unityの今後のバージョンは、.NET Standard 2.1を実装するように更新されます。 > > .NET Standard 2.1を発表しました 。 したがって、EF Core 3.1と少なくとも.NET Frameworkにジャンプする必要があります。 4.7.2。 [更新] > EF Core 3.1は、EF Core 3.0の場合のように.NET Standard 2.1を必要とするのではなく、.NET Standard 2.0のサポートを再導入します。つまり、EF Core 3.1は、標準をサポートする.NET Frameworkバージョンで実行されます。 > > また、.NET Framework 4.7.2以降は.NET Standard 2.0を完全にサポートしているため、EF Core 3.1もサポートしています。サポートマトリックスについては、 こちらを参照してください。