Dot Net Core 3.1 包括包 "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" 无法识别 EntityFrameworkCore 部分

Dot Net Core 3.1 Including package "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" doesn't recognize EntityFrameworkCore part

我想使用 PersistKeysToDbContext 实现数据保护,如 link https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/implementation/key-storage-providers?view=aspnetcore-3.1&tabs=visual-studio

所示

我已经按照建议安装了 "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" NuGet 包。

但是,当我想执行下一个 class :


class MyKeysContext : DbContext, IDataProtectionKeyContext
    {
        // A recommended constructor overload when using EF Core 
        // with dependency injection.
        public MyKeysContext(DbContextOptions<MyKeysContext> options) 
            : base(options) { }

        // This maps to the table that stores keys.
        public DbSet<DataProtectionKey> DataProtectionKeys { get; set; }
    }

我不得不使用 Microsoft.AspNetCore.DataProtection.EntityFrameworkCore 没关系,我已经将这部分包含在 class 代码的顶部。 问题是 EntityFrameworkCore 部分以锯齿状的红色出现,这意味着 DataProtection 命名空间不包含 EntityFrameworkCore。 "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" 包似乎与 Microsoft.AspNetCore.DataProtection.

冲突

有人可以帮忙吗?

我找到了答案, 实际上我正在使用两个具有相同解决方案的项目,一个是 Web.Core 另一个是 Web.Services

class "MyKeysContext" 已添加到 Web.Services 项目,我试图在 Web.Core 项目上安装 "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" NuGet 包。 所以,我意识到我试图将包安装到错误的项目中。 我刚刚在 Web.Services 项目上再次安装了这个包,它成功了。