web-dev-qa-db-ja.com

Identity asp.net core 3.0-IdentityDbContextが見つかりません

私のアプリはIdentityDbContextの参照エラーで.NETコアの3.0リリースで壊れました。コア3.0のIdentityのドキュメントを調べていますが、IdentityDbContextが存在する必要があることを意味しています。これは、いくつかのDbContextエラーで発生する唯一のエラーです。

私は非常にシンプルなAPIを使用していますが、MVCビューはありません。JSONオブジェクトを返すデータサーバーだけです。 Identityに基づいているため、ユーザー、ロール、クレームがあります。そしてそれはそれを利用し始めています。私のメインのDbContextはIdentityDbContext<ApplicationUser>を拡張しますが、アップグレード後にターゲットプラットフォームを3.0に切り替えた後、それは存在せず、コンパイルエラーが表示されます。誰かがこれに遭遇しましたか?何か不足していますか?移行および変更の変更ページには、私の問題に対処するものは何もないようです。

DbContextは次のようになります。

using System;
using Microsoft.AspNetCore.Identity;
//using Microsoft.AspNetCore.Identity.EntityFrameworkCore; <- this no longer works either
using Microsoft.EntityFrameworkCore; //<- this I had to download as a package
using App.Constants;
using App.Models.Identity;

namespace App.Models
{
    public class AppContext : IdentityDbContext<ApplicationUser> //<- error is right here
    {
        ... my models
    }
}
10
Paul Carlton

ASP.NET Core 3.0では、Entity Framework CoreおよびIdentity関連パッケージがMicrosoft.AspNetCore.Appメタパッケージから削除されました。したがって、これらのパッケージを個別に追加する必要があります。

次のPackageReferencesをプロジェクトの.csprojファイルに次のように追加します。

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0" />
</ItemGroup>

今それは動作します!

詳細: ASP.NET Core共有フレームワークから削除されたアセンブリ

19
TanvirArjel