You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 7 WinForms中IServiceCollection无AddIdentity方法的问题咨询

.NET 7 WinForms中使用AddIdentity报错的解决方法

问题描述

此前在.NET Core 5 Web应用的Startup类中,以下代码可正常运行:

services.AddIdentity<Operator, IdentityRole>().AddEntityFrameworkStores<StorageContext>().AddDefaultTokenProviders();

现在在.NET Core 7 WinForms项目中实现相同功能时,出现报错:

'IServiceCollection' does not contain a definition for 'AddIdentity' and no accessible extension method 'AddIdentity' accepting a first argument of type 'IServiceCollection' could be found (are you missing a using directive or an assembly reference?)

当前代码如下:

static IHostBuilder CreateHostBuilder()
{
    return Host.CreateDefaultBuilder()
        .ConfigureServices((context, services) =>
        {
            services.AddScoped<IStorageRepository, StorageRepository>();
            services.AddDbContext<StorageContext>(option =>
            {
                option.EnableSensitiveDataLogging(true);
                option.UseSqlServer(configuration["Data:Storage:ConnectionString"]);
            });
            services.AddIdentity<Operator, IdentityRole>().AddEntityFrameworkStores<StorageContext>().AddDefaultTokenProviders();

        });
}

疑问:是否缺少程序集?具体是哪些?AddIdentity是否可在WinForms中使用?

解决方案

1. 需要安装的NuGet包

AddIdentity 扩展方法属于ASP.NET Core Identity组件,WinForms项目默认不会自带相关依赖,必须手动安装以下NuGet包:

  • Microsoft.AspNetCore.Identity.EntityFrameworkCore:核心包,包含AddIdentity扩展方法,同时提供Identity与Entity Framework Core集成的实现
  • 若上述包未自动包含基础依赖,可补充安装Microsoft.AspNetCore.Identity

安装方式:可以通过Visual Studio的NuGet包管理器搜索安装,或使用Package Manager Console执行命令:

Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore

2. AddIdentity在WinForms中的可用性

AddIdentity 本质是注册Identity核心服务的扩展方法,不依赖Web环境,完全可以在WinForms项目中使用。只要你的WinForms项目配置了.NET Generic Host(如代码中使用的Host.CreateDefaultBuilder()),就能通过依赖注入获取Identity的服务(如UserManager<Operator>、SignInManager<Operator>),实现用户认证、角色管理等功能。

注意事项:

  • 确保你的Operator类继承自IdentityUser
  • 确保StorageContext继承自IdentityDbContext<Operator>(或包含Identity所需实体的DbContext)

内容的提问来源于stack exchange,提问作者kmboon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:05:23