Mon application a rompu avec la version 3.0 de .NET core avec des erreurs de référence pour IdentityDbContext
. Je regarde la documentation pour Identity sur le noyau 3.0 mais cela implique que IdentityDbContext devrait être là. C'est la seule erreur que j'obtiens avec quelques erreurs DbContext
.
J'ai une API assez simple, pas de vues MVC, juste un serveur de données qui rend les objets JSON. Il est basé sur l'identité, il a donc les utilisateurs, les rôles et les revendications. Et ça commence à en profiter. Mon principal DbContext étend IdentityDbContext<ApplicationUser>
mais après avoir changé la plate-forme cible en 3.0 après la mise à niveau, il dit qu'elle n'existe pas et me donne des erreurs de compilation. Quelqu'un a-t-il rencontré cela? Suis-je en train de manquer quelque chose? Les pages de migration et de modification des modifications ne semblent pas avoir de solution à mon problème.
DbContext ressemble à ceci:
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
}
}
Dans ASP.NET Core 3.0 , les packages liés à Entity Framework Core
Et Identity
ont été supprimés du Microsoft.AspNetCore.App
métapaquet. Vous devez donc ajouter ces packages séparément.
Ajoutez les PackageReference
s suivants au fichier .csproj
De votre projet comme suit:
<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>
Maintenant ça va marcher!
Pour plus de détails: assemblys supprimés du framework partagé ASP.NET Core