Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法解析类型为'';试图激活'';_C#_Asp.net Core_Asp.net Core 2.0 - Fatal编程技术网

C# 无法解析类型为'';试图激活'';

C# 无法解析类型为'';试图激活'';,c#,asp.net-core,asp.net-core-2.0,C#,Asp.net Core,Asp.net Core 2.0,我正在Core2.0上创建一个项目,在过去的两天里,我一直在依赖注入上苦苦挣扎。下面是我的代码- public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddTransient<IAccountBAL, AccountBAL>(); } public interface IAccountBAL { Task CreateSuperAdm

我正在Core2.0上创建一个项目,在过去的两天里,我一直在依赖注入上苦苦挣扎。下面是我的代码-

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddTransient<IAccountBAL, AccountBAL>();
}

public interface IAccountBAL
{
    Task CreateSuperAdmin();
}

public class AccountBAL:IAccountBAL
{
    private ApplicationDbContext _connection;
    private readonly RoleManager<IdentityRole> _roleManager;
    private readonly SignInManager<ApplicationUser> _signInManager;
    private readonly UserManager<ApplicationUser> _userManager;
    public AccountBAL(ApplicationDbContext connection, RoleManager<IdentityRole> roleManager, SignInManager<ApplicationUser> signInManager, UserManager<ApplicationUser> userManager)
    {
        _connection = connection;
        _roleManager = roleManager;
        _signInManager = signInManager;
        _userManager = userManager; 
    }
    public async Task CreateSuperAdmin()
    {
        //My Code  
    }
}

Startup
类中,您需要注册
DbContext
,如下所示:

public void ConfigureServices(IServiceCollection services)
{
    // ... 
    services.AddDbContext<ApplicationDbContext>(options =>
    {
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
    });
    // ...
}
public void配置服务(IServiceCollection服务)
{
// ... 

services.AddDbContext.

您的
配置服务中缺少很多内容
。您没有注册
ApplicationDbContext
(这是您的实际错误)但是你也错过了
UserManager
rolemanger
SignInManager
@KirkLarkin的注册。你节省了我的休息时间。谢谢。在我的情况下,错过了UserManager、rolemanger和SignInManager的注册。请回答可以接受。如果您按照我提供的链接配置您自己的基于
DBContext
Identity
,您将拥有所需的所有注册权限。
public void ConfigureServices(IServiceCollection services)
{
    // ... 
    services.AddDbContext<ApplicationDbContext>(options =>
    {
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
    });
    // ...
}