身份 asp.net 核心 3.0 - 未找到 IdentityDbContext
Identity asp.net core 3.0 - IdentityDbContext not found
我的应用程序与 .NET Core 3.0 版本中断,并出现 IdentityDbContext
的引用错误。我正在查看 Identity on core 3.0 的文档,但这意味着 IdentityDbContext 应该在那里。这是我遇到的唯一错误,有几个 DbContext
个错误。
我有一个非常简单的 API,没有 MVC 视图,只有一个返回 JSON 对象的数据服务器。它基于身份,因此它具有用户、角色和声明。它开始利用这一点。我的主要 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
}
}
在 ASP.NET Core 3.0 中,Entity Framework Core
和 Identity
相关包已从 Microsoft.AspNetCore.App
元包中删除。所以你必须单独添加这些包。
将以下 PackageReference
添加到项目的 .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>
现在可以使用了!
更多详情:Assemblies removed from the ASP.NET Core shared framework
如果您遇到类似 "error CS0246: The type or namespace name 'IdentityDbContext' could not be found" 的错误
您可以为 asp.net web api 3 项目
安装以下软件包
dotnet 添加包 Microsoft.AspNetCore.Identity.EntityFrameworkCore --version 5.0.0-preview.3.20215.14
在 dotnet cli.its 为我工作。
安装包Microsoft.AspNetCore.Identity.EntityFrameworkCore-版本 5.0.0-preview.3.20215.14
这是包管理器
我的应用程序与 .NET Core 3.0 版本中断,并出现 IdentityDbContext
的引用错误。我正在查看 Identity on core 3.0 的文档,但这意味着 IdentityDbContext 应该在那里。这是我遇到的唯一错误,有几个 DbContext
个错误。
我有一个非常简单的 API,没有 MVC 视图,只有一个返回 JSON 对象的数据服务器。它基于身份,因此它具有用户、角色和声明。它开始利用这一点。我的主要 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
}
}
在 ASP.NET Core 3.0 中,Entity Framework Core
和 Identity
相关包已从 Microsoft.AspNetCore.App
元包中删除。所以你必须单独添加这些包。
将以下 PackageReference
添加到项目的 .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>
现在可以使用了!
更多详情:Assemblies removed from the ASP.NET Core shared framework
如果您遇到类似 "error CS0246: The type or namespace name 'IdentityDbContext' could not be found" 的错误 您可以为 asp.net web api 3 项目
安装以下软件包dotnet 添加包 Microsoft.AspNetCore.Identity.EntityFrameworkCore --version 5.0.0-preview.3.20215.14 在 dotnet cli.its 为我工作。
安装包Microsoft.AspNetCore.Identity.EntityFrameworkCore-版本 5.0.0-preview.3.20215.14 这是包管理器